--enable-phar = shared我必须重新编译PHP来安装Composer吗? [英] --enable-phar=shared Do I have to recompile PHP to Install Composer?

查看:2145
本文介绍了--enable-phar = shared我必须重新编译PHP来安装Composer吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在DreamHost VPS上安装Composer。



Linux 3.1.9-vs2.3.2.5vs2.3.2.5 +



Web PHP版本5.4.11



CLI版本PHP 5.4.11(cli)



phpinfo()输出只有一个phar引用,它说 - enable-phar = shared 但是当我尝试下面的输出说我需要phar 。

  sudo -u myuser curl -sS https://getcomposer.org/installer | / usr / local / php54 / bin / php 
#!/ usr / bin / env php
您的计算机上的某些设置使Composer无法正常工作。
确保您修复了下面列出的问题并再次运行此脚本:

缺少phar扩展名。
安装或重新编译php没有--disable-phar

我必须重新编译PHP

 <$ c $ 

c'./ configure''--prefix = / usr / local / php54''--datadir = / usr / local / php54 / share''--localstatedir = / usr / local / php54 / var' without-pear''--with-config-file-path = / etc / php54''--with-config-file-scan-dir = / etc / php54 / conf.d''--with-zend-vm = GOTO''--enable-cgi''--enable-fpm''--enable-libxml = shared''--enable-bcmath = shared''--enable-calendar = shared''--enable-ctype = shared''--enable-exp = shared''--enable-exif = shared''--enable-fileinfo = shared''--enable-filter = shared''--enable-ftp = shared' -enable-hash = shared''--enable-intl = shared''--enable-json = shared''--enable-mbstring''--enable-mbregex''--enable-mbregex-backtrack' -enable-pcntl = shared''--enable-pdo''--enable-phar = shared''--enable-posix = shared''--enable-session = shared''--enable-shmop = shared' '--enable-simplexml = shared''--enable-soap = shared''--enable-sockets = shared''--enable-sysvmsg = shared''--enable-sysvsem = shared' sysvshm = shared''--enable-tokenizer = shared''--enable-wddx = shared''--enable-xml = shared''--enable-xmlreader = shared''--enable-xmlwriter = shared' --enable-zip = shared''--with-openssl = shared''--with-kerberos''--with-pcre-regex''--with-sqlite3''--with-zlib = shared' --with-bz2 = shared''--with-curl = shared''--with-gd = shared''--with-jpeg-dir = / usr''--with-png-dir = / usr' '--with-zlib-dir = / usr''--with-xpm-dir = / usr''--with-freetype-dir = / usr''--with- gettext = shared' gmp = shared''--with-mhash = shared''--with-iconv = shared''--with-imap = shared''--with-imap-ssl''--with-ldap = shared' --with-mcrypt = shared''--with-msql = shared''--with-mysql = shared,mysqlnd''--with-mysql-sock = / No- MySQL-主机名被指定' -with-mysqli = shared,mysqlnd''--with-pdo-mysql = shared,mysqlnd''--with-pdo-pgsql = shared''--with-pdo-sqlite''--with-pgsql = shared ''--with-pspell = shared''--with-readline = shared''--with-tidy = shared''--with-xmlrpc = shared''--with-xsl = shared'



EDIT



命令行运行



sudo -u myuser / usr / local / php54 / bin / php -i> 〜/ phpinfo.txt



提供相同的phar设置:

  PHP Version => 5.4.11 

System => Linux ps29943 3.1.9-vs2.3.2.5vs2.3.2.5 +#3 SMP Wed Feb 12 13:51:29 PST 2014 x86_64
Build Date => Feb 5 2013 18:44:25
配置Command => './configure''--prefix = / usr / local / php54''--datadir = / usr / local / php54 / share''--localstatedir = / usr / local / php54 / var' pear''--with-config-file-path = / etc / php54''--with-config-file-scan-dir = / etc / php54 / conf.d''--with-zend-vm = GOTO ''--enable-cgi''--enable-fpm''--enable-libxml = shared''--enable-bcmath = shared''--enable-calendar = shared''--enable-ctype = shared ''--enable-dom = shared''--enable-exif = shared''--enable-fileinfo = shared''--enable-filter = shared''--enable-ftp = shared''--enable -hash = shared''--enable-intl = shared''--enable-json = shared''--enable-mbstring''--enable-mbregex''--enable-mbregex-backtrack''--enable -pcntl = shared''--enable-pdo''--enable-phar = shared''--enable-posix = shared''--enable-session = shared''--enable-shmop = shared' -enable-simplexml = shared''--enable-soap = shared''--enable-sockets = shared''--enable-sysvmsg = shared''--enable-sysvsem = shared''--enable-sysvshm =共享''--enable-xmlreader =共享''--enable-xmlwriter =共享''--enable-xml =共享' enable-zip = shared''--with-openssl = shared''--with-kerberos''--with-pcre-regex''--with-sqlite3''--with-zlib = shared'' - with-bz2 = shared''--with-curl = shared''--with-gd = shared''--with-jpeg-dir = / usr''--with-png-dir = / usr' -with-zlib-dir = / usr''--with-xpm-dir = / usr''--with-freetype-dir = / usr''--with- gettext = shared''--with- gmp =共享''--with-mhash = shared''--with-iconv = shared''--with-imap = shared''--with-imap-ssl''--with-ldap = shared' with-mcrypt = shared''--with-msql = shared''--with-mysql = shared,mysqlnd''--with-mysql-sock = / No- MySQL-主机名被指定''--with -mysqli = shared,mysqlnd''--with-pdo-mysql = shared,mysqlnd''--with-pdo-pgsql = shared''--with-pdo-sqlite''--with-pgsql = shared' --with-pspell = shared''--with-readline = shared''--with-tidy = shared''--with-xmlrpc = shared''--with-xsl = shared'
服务器API =>命令行界面


解决方案

,那么当您在 php.ini 中实际包含该扩展名时,缺少扩展名的错误应该消失。



首先,扫描现有文件 phar.so - 应该在 / usr / local / php54 / lib 等。



然后检查是否有任何配置的痕迹只是等待启用 /etc/php54/conf.d 。之后,没有发现任何看起来像连接到phar,检查 /etc/php54/php.ini 在[扩展]部分。可能有一行注释掉,包含这样的: extension = phar.so 。激活它。



之后, php -m 应该提供一个激活扩展列表,包括phar。没有必要在命令行重新启动PHP,因为没有需要重新启动的持久化进程。



如果这一切都失败,你可能必须接受是 作为必须重新编译?的答案,但我怀疑你安装的PHP没有共享扩展 .so 文件。即使没有,也可能更容易安装包含该扩展程序的缺少包。


I am trying to get Composer installed on a DreamHost VPS

Linux 3.1.9-vs2.3.2.5vs2.3.2.5+

Web PHP Version 5.4.11

CLI Version PHP 5.4.11 (cli)

phpinfo() output has only one reference to phar and it says --enable-phar=shared but when I attempt the following the output says I need phar enabled.

sudo -u myuser curl -sS https://getcomposer.org/installer | /usr/local/php54/bin/php
#!/usr/bin/env php
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:

The phar extension is missing.
Install it or recompile php without --disable-phar

Do I have to recompile PHP to get par extension enabled?

Here is the whole current configure command

'./configure' '--prefix=/usr/local/php54' '--datadir=/usr/local/php54/share' '--localstatedir=/usr/local/php54/var' '--without-pear' '--with-config-file-path=/etc/php54' '--with-config-file-scan-dir=/etc/php54/conf.d' '--with-zend-vm=GOTO' '--enable-cgi' '--enable-fpm' '--enable-libxml=shared' '--enable-bcmath=shared' '--enable-calendar=shared' '--enable-ctype=shared' '--enable-dom=shared' '--enable-exif=shared' '--enable-fileinfo=shared' '--enable-filter=shared' '--enable-ftp=shared' '--enable-hash=shared' '--enable-intl=shared' '--enable-json=shared' '--enable-mbstring' '--enable-mbregex' '--enable-mbregex-backtrack' '--enable-pcntl=shared' '--enable-pdo' '--enable-phar=shared' '--enable-posix=shared' '--enable-session=shared' '--enable-shmop=shared' '--enable-simplexml=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-sysvmsg=shared' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-tokenizer=shared' '--enable-wddx=shared' '--enable-xml=shared' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--enable-zip=shared' '--with-openssl=shared' '--with-kerberos' '--with-pcre-regex' '--with-sqlite3' '--with-zlib=shared' '--with-bz2=shared' '--with-curl=shared' '--with-gd=shared' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-zlib-dir=/usr' '--with-xpm-dir=/usr' '--with-freetype-dir=/usr' '--with-gettext=shared' '--with-gmp=shared' '--with-mhash=shared' '--with-iconv=shared' '--with-imap=shared' '--with-imap-ssl' '--with-ldap=shared' '--with-mcrypt=shared' '--with-msql=shared' '--with-mysql=shared,mysqlnd' '--with-mysql-sock=/No-MySQL-hostname-was-specified' '--with-mysqli=shared,mysqlnd' '--with-pdo-mysql=shared,mysqlnd' '--with-pdo-pgsql=shared' '--with-pdo-sqlite' '--with-pgsql=shared' '--with-pspell=shared' '--with-readline=shared' '--with-tidy=shared' '--with-xmlrpc=shared' '--with-xsl=shared'

EDIT

From the command line running

sudo -u myuser /usr/local/php54/bin/php -i > ~/phpinfo.txt

Gives same phar setting:

PHP Version => 5.4.11

System => Linux ps29943 3.1.9-vs2.3.2.5vs2.3.2.5+ #3 SMP Wed Feb 12 13:51:29 PST 2014 x86_64
Build Date => Feb  5 2013 18:44:25
Configure Command =>  './configure'  '--prefix=/usr/local/php54' '--datadir=/usr/local/php54/share' '--localstatedir=/usr/local/php54/var' '--without-pear' '--with-config-file-path=/etc/php54' '--with-config-file-scan-dir=/etc/php54/conf.d' '--with-zend-vm=GOTO' '--enable-cgi' '--enable-fpm' '--enable-libxml=shared' '--enable-bcmath=shared' '--enable-calendar=shared' '--enable-ctype=shared' '--enable-dom=shared' '--enable-exif=shared' '--enable-fileinfo=shared' '--enable-filter=shared' '--enable-ftp=shared' '--enable-hash=shared' '--enable-intl=shared' '--enable-json=shared' '--enable-mbstring' '--enable-mbregex' '--enable-mbregex-backtrack' '--enable-pcntl=shared' '--enable-pdo' '--enable-phar=shared' '--enable-posix=shared' '--enable-session=shared' '--enable-shmop=shared' '--enable-simplexml=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-sysvmsg=shared' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-tokenizer=shared' '--enable-wddx=shared' '--enable-xml=shared' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--enable-zip=shared' '--with-openssl=shared' '--with-kerberos' '--with-pcre-regex' '--with-sqlite3' '--with-zlib=shared' '--with-bz2=shared' '--with-curl=shared' '--with-gd=shared' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-zlib-dir=/usr' '--with-xpm-dir=/usr' '--with-freetype-dir=/usr' '--with-gettext=shared' '--with-gmp=shared' '--with-mhash=shared' '--with-iconv=shared' '--with-imap=shared' '--with-imap-ssl' '--with-ldap=shared' '--with-mcrypt=shared' '--with-msql=shared' '--with-mysql=shared,mysqlnd' '--with-mysql-sock=/No-MySQL-hostname-was-specified' '--with-mysqli=shared,mysqlnd' '--with-pdo-mysql=shared,mysqlnd' '--with-pdo-pgsql=shared' '--with-pdo-sqlite' '--with-pgsql=shared' '--with-pspell=shared' '--with-readline=shared' '--with-tidy=shared' '--with-xmlrpc=shared' '--with-xsl=shared'
Server API => Command Line Interface

解决方案

From what I understand reading about similar problems, that missing extension error should go away when you actually include that extension in your php.ini.

First of all, scan for an existing file phar.so - it should be around /usr/local/php54/lib or so.

Then check if there are any traces of configuration that just waits to be enabled in /etc/php54/conf.d. After that, and nothing was found that looks like being connected to phar, check the /etc/php54/php.ini in the [extension] section. There might be a line commented out that contains something like this: extension = phar.so. Activate it.

After that, php -m should give you a list of activated extentions including the phar one. There is no need to restart PHP on the command line, because there is no persistent process that needs a restart.

If this all fails, you probably have to accept "yes" as an answer to "Must I recompile?", but I doubt your installed PHP comes without the shared extensions .so files. And even if not, it's probably easier to install a missing package containing that extension.

这篇关于--enable-phar = shared我必须重新编译PHP来安装Composer吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆