在MAMP上安装PEAR

Col*_*tin 19 php pear mamp

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

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

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

MAMP是版本1.9.5 Mac OS 10.6.7

zec*_*hdc 49

@Marcelo Rodrigo的答案很棒!我很高兴他把他的消息来源包括在内.通过关注他的消息来源,我能够找到以下信息.


在MAMP上安装PEAR

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

注意:

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

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

MAMP v2.xx

chmod 774 /Applications/MAMP/bin/php/php5.4.4/bin/pear
chmod 774 /Applications/MAMP/bin/php/php5.4.4/bin/php
Run Code Online (Sandbox Code Playgroud)

MAMP v1.xx

chmod 774 /Applications/MAMP/bin/php5.3/bin/pear
chmod 774 /Applications/MAMP/bin/php5.3/bin/php
Run Code Online (Sandbox Code Playgroud)

2)设置别名以避免键入整个路径.

每次要访问pear时,都必须输入"/Applications/MAMP/bin/php5.3/bin/pear".键入"pear"表示已经安装在Mac上的内容而不是MAMP的安装.(这仅适用于当前会话.对于永久别名,请将以下命令放在〜/ .bash_profile文件中.以下是如何执行此操作的教程.)

MAMP v2.xx

alias mpear="/Applications/MAMP/bin/php/php5.4.4/bin/pear"
Run Code Online (Sandbox Code Playgroud)

MAMP v1.xx

alias mpear="/Applications/MAMP/bin/php5.3/bin/pear"
Run Code Online (Sandbox Code Playgroud)

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

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

当你升级pear时,它将创建一个新的/ Application/MAMP/bin/php5目录,并在php5.3和php5文件夹之间传播文件.使用下面的代码在两个文件之间建立链接,使它们作为一个整体.有关更多信息"ln"命令.资料来源:@Marcelo Rodrigo的帖子

ln -s php5.3 php5
Run Code Online (Sandbox Code Playgroud)

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

mpear -V
Run Code Online (Sandbox Code Playgroud)

5)现在升级梨:

mpear channel-update pear.php.net
mpear upgrade pear
Run Code Online (Sandbox Code Playgroud)

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

mpear -V
Run Code Online (Sandbox Code Playgroud)

安装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
Run Code Online (Sandbox Code Playgroud)

资料来源: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
Run Code Online (Sandbox Code Playgroud)

**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
Run Code Online (Sandbox Code Playgroud)

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

3)确保它有效

phpunit --version
Run Code Online (Sandbox Code Playgroud)

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


资料来源:


Mar*_*igo 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
Run Code Online (Sandbox Code Playgroud)

完成.

上面的代码修复了以下问题:

错误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


All*_*rff 6

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

PEAR Version: 1.9.4
PHP Version: 5.4.4
Zend Engine Version: 2.4.0
Run Code Online (Sandbox Code Playgroud)

尝试:

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
Run Code Online (Sandbox Code Playgroud)

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

sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/phpunit /usr/local/bin/phpunit
Run Code Online (Sandbox Code Playgroud)

现在尝试:

 phpunit --version
Run Code Online (Sandbox Code Playgroud)
  1. 确认它的工作原理从这里尝试: /Applications/MAMP/bin/php/php5.4.4/bin/
  2. 确认符号链接有效.尝试在其他地方喜欢~//.

如果他们都工作,你就可以准备编码.

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