好的,我使用的是MacBook,并为PHP环境安装了MAMP PRO。
我正在尝试使用Pear来安装PHPUnit,但无法使其正常工作。PHPUnit告诉我pear: command not found
我遇到了一个教程,建议使用sudo php install-pear-nozlib.phar
安装pear,但当我运行它时,我得到了以下内容:
[PEAR] Archive_Tar - already installed: 1.3.7
[PEAR] Console_Getopt - already installed: 1.3.0
[PEAR] Structures_Graph- already installed: 1.0.4
[PEAR] XML_Util - already installed: 1.2.1
[PEAR] PEAR - already installed: 1.9.4
Wrote PEAR system config file at: /Applications/MAMP/bin/php/php5.4.10/conf/pear.conf
You may want to add: /Applications/MAMP/bin/php/php5.4.10/lib/php to your php.ini include_path
好吧,所以它认为Pear已经安装好了,但如果没有命令未找到错误,我似乎无法引用它来做任何事情。我认为存在某种冲突,因为它已经作为MAMP的一部分安装,但MAMP版本没有通过命令行引用?
我对终端命令知之甚少。我的想法是否正确?
答案在错误消息中:
您可能需要添加:/Applications/MAMP/bin/php/php5.4.10/lib/php到php.ini include_path
有PHP&系统范围的PHP。您需要使用特定于MAMP的PHP安装。试试这个命令。
sudo /Applications/MAMP/bin/php/php5.4.10/lib/php install-pear-nozlib.phar
此外,以下是我在Mac OS X 10.6.8下安装phpunit
的注意事项。应该适用于Mac OS X 10.9。请注意,这是针对phpunit
的系统安装,而不是特定于MAMP的。
首先得到卷曲得到go-pear.phar
:
http://pear.php.net/go-pear.phar > go-pear.phar
此时,您可能需要编辑.bash_profile
并将/usr/local/pear/bin
添加到$PATH
。
现在运行go-pear.phar
:
sudo php -q go-pear.phar
设置pear
通道:
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover pear.symfony.com
在运行命令时,可能需要用pear
明确指示您需要,这样也可以正常工作:
sudo /usr/local/pear/bin/pear channel-discover pear.phpunit.de
sudo /usr/local/pear/bin/pear channel-discover components.ez.no
sudo /usr/local/pear/bin/pear channel-discover pear.symfony-project.com
sudo /usr/local/pear/bin/pear channel-discover pear.symfony.com
现在安装phpunit
:
sudo pear install --alldeps phpunit/PHPUnit
现在编辑php.ini
:
sudo nano /etc/php.ini
查找includes
路径条目:
;include_path = ".:/php/includes/"
取消注释(如果已注释),并将其更改为包括pear
路径:
include_path = ".:/usr/local/pear/share/pear:/php/includes/"