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 默认不包含命令行工具,例如 gcc 编译器(您需要的)。因此,您需要做的是通过 XCode 或从 Apple 的网站下载它。下载这些命令行工具后,您应该已经安装了 gcc,并且 ./configure 命令应该可以正常工作。

如果不是这样,您还可以安装 MacPort,然后使用它来安装 gcc 和 autoconf——编译所需的工具。

port install autoconf

尽管它们可能已经作为 XCode 命令行工具的一部分工作。

无论如何,完成所有这些之后,您终于可以在您的 php 源文件夹中运行 ./configure 了,为以后的工作做好准备,您可以通过输入以下内容来检查它是否正常工作:

pecl install uploadprogress

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

就是这样,我只是想我会把它全部列出来,因为我花了几个小时才找到正确的动作顺序,我希望它会为其他人节省时间。如果您对如何更有效地完成它有想法,请告诉我。

4

1 回答 1

0

我在安装时遇到了困难,因为 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 到您的 php.ini

干杯普拉蒂克

于 2014-07-30T08:02:29.527 回答