山狮操作系统下的php pear和pecl

10

我已经升级到了Mountain Lion,并安装了php5.4,这需要进行一些调整。Mountain Lion change php location

我的下一个问题是,如果我运行pear -vpecl -v,它们会返回:

Could not open input file: /usr/lib/php/pear/pearcmd.php

Could not open input file: /usr/lib/php/pear/peclcmd.php

我需要改变pear和pecl指向我新安装的位于/usr/local/php5/bin/下的php吗?

如果是这样,我该如何做,我会失去之前安装的扩展(例如phpunit)吗?

谢谢。

3个回答

16

我通过重新安装Pear来解决了这个问题。下载go-pear.phar并运行之后,我进行了排序。

sudo php -d detect_unicode=0 go-pear.phar
在安装过程中,有更改pear使用的目录的选项。它们已经设置为我的新php的正确位置,例如/usr/local/php5/bin。
然后我必须将该路径添加到我的bash_profile中,以便识别pear命令。
export PATH=$PATH:/usr/local/php5/bin
为了让pecl重新工作,我从/usr/bin中删除了pecl,并将符号链接到/usr/local/php5/bin中的pecl。
sudo ln -s /usr/local/php5/bin/pecl /usr/bin/pecl

我尝试安装的第一个包是APC,但出现了错误。

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

ERROR: `phpize' failed

这是按照phpize在Mac OS X Lion上无法工作的指示进行排序的。我使用了homebrew方案。

更新:我成功安装了PHPUnit,然后运行phpunit --version

出现了一个错误:

PHP Warning:  require(/usr/lib/php/pear/PHPUnit/Autoload.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 43

运行which phpunit得到了/usr/bin/phpunit的结果

通过创建更多符号链接来解决问题

sudo ln -s /usr/local/php5/bin/phpunit phpunit

10

在Mavericks上,有一个位于/usr/lib/php目录下的文件名为install-pear-nozlib.phar

只需从该目录中运行sudo php install-pear-nozlib.phar即可使所有内容正常工作。然后在php.ini中将/usr/lib/php/pear添加到包含路径中。

希望这对某些人有所帮助。


2

我在我的Mac上遇到了一个用户的问题,但其他用户没有问题。所以我猜可能与使用其他用户安装pear有关(因为我就是这样做的)。

我没有解决办法,但你可以尝试重新安装pear,并尝试选择将其安装到系统而不是本地,看看是否有效。

编辑:我尝试过这样做,但是pear开始工作了,但pecl没有。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接