在MAMP上安装PEAR

时间:2011-04-01 08:17:22

标签: php pear mamp

我正在使用MAMP进行开发。我从来没有能够让PEAR工作。 MAMP文档和论坛似乎没有答案。在MAMP论坛上提问的每个人似乎都没有回复。

以前我在MAMP上开发了系统,并且只使用PEAR进行邮件,所以我让它在服务器而不是MAMP上运行一次。我现在想要使用更多的PEAR。

任何人都可以给我一个白痴指导,让它继续下去。我可以访问终端和输入命令行,但是,我真的不明白发生了什么,所以当事情停止或抛出错误时我不得不提出更多问题。我已经在互联网上找到了各种各样的东西,但到目前为止都失败了。

MAMP是版本1.9.5 Mac OS 10.6.7

3 个答案:

答案 0 :(得分:49)

@Marcelo罗德里戈的回答很棒!我很高兴他把他的消息来源包括在内。通过关注他的消息来源,我能够找到以下信息。


在MAMP上安装PEAR

为了让PEAR使用MAMP,请运行以下命令。请注意,有MAMP v1.x.x和更新版本的命令。找出您正在运行的版本。另外,请注意PHP版本不同。确保以下命令中的版本是您实际使用的版本。 MAMP允许您更改版本。您可以通过打开MAMP>进行检查服务器> PHP。

注意:

对某些人来说这可能是显而易见的,但你应该先停止MAMP。否则你可能会遇到一些奇怪的错误。

1)更改目录权限,以便您可以在其中执行文件:

MAMP v2.x.x

chmod 774 /Applications/MAMP/bin/php/php5.4.4/bin/pear
chmod 774 /Applications/MAMP/bin/php/php5.4.4/bin/php

MAMP v1.x.x

chmod 774 /Applications/MAMP/bin/php5.3/bin/pear
chmod 774 /Applications/MAMP/bin/php5.3/bin/php

2)设置别名以避免输入整个路径。

每次要访问pear时,都必须输入“/Applications/MAMP/bin/php5.3/bin/pear”。键入“pear”表示已经安装在Mac上的内容而不是MAMP的安装。 (这仅适用于当前会话。对于永久别名,请将以下命令放在〜/ .bash_profile文件中。Here is a tutorial on how to do that.

MAMP v2.x.x

alias mpear="/Applications/MAMP/bin/php/php5.4.4/bin/pear"

MAMP v1.x.x

alias mpear="/Applications/MAMP/bin/php5.3/bin/pear"

3)在php5和php5.3文件夹之间建立链接(MAMP v2.x.x不需要):

Pear对其版本感到困惑,因为它安装在php5.3和php5目录

升级pear时,它会创建一个新的/ Application / MAMP / bin / php5目录,并在php5.3和php5文件夹之间传播文件。使用下面的代码在两个文件之间建立链接,使它们作为一个整体。 More info about "ln" command。资料来源:@Marcelo Rodrigo's post

ln -s php5.3 php5

4)检查以确保梨正常工作:

mpear -V

5)现在升级梨:

mpear channel-update pear.php.net
mpear upgrade pear

6)再次检查是否正确升级了梨

mpear -V


安装PHPUnit

您不需要安装PHPUnit。如果mpear -V适合你,那么你就完成了在MAMP上安装PEAR。对于我的开发环境,我需要PHPUnit进行单元测试,所以我想我现在要包含一个安装PHPUnit的教程,因为我们有PEAR工作。只有在需要PHPUnit时才这样做。如果你不知道它是什么,你就不需要它。

运行以下命令:

1)安装PHPUnit:

注意:下面我正在使用“mpear”,这实际上是我在上面的步骤2中设置的别名。您可以在其位置使用“/Applications/MAMP/bin/php5.3/bin/pear”。

mpear config-set auto_discover 1
mpear install pear.phpunit.de/PHPUnit

来源:http://www.phpunit.de/manual/current/en/installation.html

2)允许MAMP使用PHPUnit

将您的MAMP安装的phpunit与默认的phpunit位置相关联。 (不适用于Mountain Lion,请参阅步骤2a)

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

** 2a)仅适用于Mountain Lion - 在MAMP的php.ini和/ etc中的php.ini之间创建一个symobolic链接

sudo ln -s /Applications/MAMP/bin/php/php5.4.4/conf/php.ini /etc/php.ini

如果文件存在,请备份/etc/php.ini并将其删除。

3)确保其有效

phpunit --version

有关安装phpunit的详细信息,请查看:


来源:

答案 1 :(得分:7)

如果您只想让phpunit工作,请在MAMP 1.9.5的全新副本上使用以下命令:

cd /Applications/MAMP/bin
ln -s php5.3 php5
php5/bin/pear channel-discover pear.phpunit.de
php5/bin/pear channel-discover components.ez.no
php5/bin/pear channel-discover pear.symfony-project.com
php5/bin/pear channel-update pear.php.net
php5/bin/pear upgrade pear
php5/bin/pear install phpunit/PHPUnit
ln -s /Applications/MAMP/bin/php5/bin/phpunit /usr/local/bin/phpunit
phpunit --version

完成。

上述代码修复了以下问题:

错误1: pear对其版本感到困惑,因为它安装在php5.3和php5目录中

Pear更新并安装来自/Applications/MAMP/bin/php5.3/pear,但它会创建一个新的/ Application / MAMP / bin / php5目录并在php5.3 direct和新php5之间传播文件目录,并对它的版本感到非常困惑。

修正: ln -s php5.3 php5

我认为如果你使用PHP 5.2然后使用ln -s php5.2 php5应该同样有效但我没有测试过这个

问题2: 梨已经过时了

这对MAMP团队来说是可以理解的,问题实际上是由于Bug 1而难以升级

来源:http://forum.mamp.info/viewtopic.php?f=6&t=11102

答案 2 :(得分:6)

我最近发现以下链接正确设置我的MAMP 2.1.1正在运行:

PEAR Version: 1.9.4
PHP Version: 5.4.4
Zend Engine Version: 2.4.0

尝试:

sudo /Applications/MAMP/bin/php/php5.4.4/bin/pear config-set auto_discover 1
sudo /Applications/MAMP/bin/php/php5.4.4/bin/pear install pear.phpunit.de/PHPUnit

要在命令行中使其可用,您需要在本地bin中为phpunit创建一个软线。

sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/phpunit /usr/local/bin/phpunit

现在尝试:

 phpunit --version
  1. 确认可行从这里尝试:/Applications/MAMP/bin/php/php5.4.4/bin/
  2. 确认符号链接有效。在其他地方试试,例如~//
  3. 如果它们都有效,你就可以开始编码了。

    消息来源/信用:Enej Bajgoric网站开发人员,CTLT UBC温哥华加拿大http://blogs.ubc.ca/enej/2012/10/01/installing-phpunit-on-mamps/