在Mac OSX上安装MAMP和Pecl以设置PHP扩展

3
我曾经在我的Mac OSX上使用MAMP 1.9时遇到了一些困难,无法运行pecl。我花了一整天的时间解决了这个问题,现在我想和其他人分享我的经验。如果您知道更好的解决方法,请告诉我。
基本上,问题是我需要在MAMP系统上安装一些PHP扩展,而为了做到这一点,我需要使pecl或编译器正常工作。但是它们都无法正常工作。所以我做的第一件事就是升级到MAMP 2。然后,我通过在终端中输入命令将MAMP的pecl路径添加到./profile文件中:
echo "export PATH=/Applications/MAMP/bin/php/php5.3.6/bin:$PATH" >> ~/.profile

您可以通过输入以下命令检查 pecl 命令是否引用了“正确”的版本(而不是 Mac Osx 内置的版本):

which pecl

现在,为了能够使用pecl构建扩展,我们需要准备好构建环境,以便它们能够正确编译。这个页面给出了一个很好的建议。简而言之,您需要从MAMP的网站下载其库,然后选择与您当前激活版本相对应的PHP文件夹(在我的情况下是php-5.3.6),并将其复制到/Applications/MAMP/bin/php/php5.3.6/include文件夹中。之后,您应该进入该文件夹,在终端中运行命令。
./configure

现在,只有在您安装了XCode的情况下才能使用此方法。问题是,即使已经安装了XCode,新版本的XCode默认情况下也不包括gcc编译器等命令行工具(您需要的那些)。因此,您需要通过XCode或从Apple网站下载这些命令行工具。一旦您下载了这些命令行工具,您应该已经安装了gcc,并且"./configure"命令应该可以正常工作。
如果情况并非如此,您还可以安装MacPort,然后使用它来安装gcc和autoconf - 这些是编译所需的工具。
port install autoconf

尽管他们可能已经作为XCode的命令行工具的一部分在工作,但总之,在完成所有这些步骤后,您最终将能够在php源文件夹中运行./configure,并为未来的工作做好准备。您可以通过键入以下内容来检查它是否正常运行:
pecl install uploadprogress

为了使该扩展程序初始化,您可能需要将extensions=uploadprogress.so添加到您的php.ini文件中。

就是这样,我只是想把它全部列出来,因为花费了我几个小时的时间找到正确的操作顺序,我希望能够节省其他人的时间。如果您有更高效的方法,请让我知道。


2
很好的写作,但这不是一个问题。 - Perception
1个回答

0

安装 MAMP 时我遇到了困难,因为 MAMP 库不再公开可用。

但是您可以在此处下载最新的 PHP 版本:http://php.net/releases/index.php,提取其内容并将其插入到此处。对于我而言,路径看起来像这样:/Applications/MAMP/bin/php/php5.5.3/include/php。我手动创建了文件夹 include,然后将提取的下载内容放在 php 文件夹中。

之后 ./configure 就能正常工作了,然后我只需要执行 pecl install uploadprogress。将该扩展添加到相关的 php.ini 文件(版本)中:extensions=uploadprogress.so,即可完成操作。

祝好 Pratik


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