正在升级MAMP上的XCache



当试图为MAMP编译Xcache 3.x版本时,phpize会查找Xcache 2.x 附带的PHP的早期版本

pwd:/Applications/MAMP/bin/php/php.5.3/xcache-3.1.0

$ phpize
grep: /Applications/MAMP/bin/php/php5.4.19/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.4.19/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.4.19/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  

当我升级到OSX 10.9时,问题出现了。

针对MAMP构建XCache

  1. 设置命令行
  2. 下载并配置php源代码
  3. 生成xcache

设置命令行

您需要配置Bash以使用正确的php命令。由于您希望使用5.5.3针对MAMP进行构建,因此可以在提示符下运行以下命令:

$ export PATH=/Applications/MAMP/bin/php/php5.5.3/bin:$PATH

您还需要将以上内容添加到~/.bashrc中,以确保将来的会话使用正确的php命令——append-to-.bashrc:

$ echo 'export PATH=/Applications/MAMP/bin/php/php5.5.3/bin:$PATH' >> ~/.bashrc

现在当你运行:

$ which php

您应该看到:/Applications/MAMP/bin/php/php5.5.3/php

下载并配置php源代码

从以下位置下载php5.5.3源代码http://www.php.net/releases/.MAMP不包括PHP源代码,因此在从源代码构建扩展时必须提供并配置它。

提取归档文件并将文件夹重命名为简单的php,然后将其放在/Applications/MAMP/bin/php/php5.5.3/include/中——这意味着您现在应该有路径/Applications/MAMP/bin/php/php5.5.3/include/php/

运行时:

$ /Applications/MAMP/bin/php/php5.5.3/include/php/configure

你应该看到一堆输出。如果您看到错误,请仔细检查是否已将源复制到正确的位置。

现在您可以开始构建针对PHP 5.5.3的扩展。

注意:您可能需要创建包含文件夹

由于MAMP不附带源代码,他们选择省略include文件夹——继续创建它,因为在从源代码构建扩展时,它是查找php源代码的传统位置。

如果您的php5.x编译版本位于/path/to/php5.x/,那么php源代码应该位于/path/to/php5.x/include/php/

从源代码生成XCache

下载XCache源代码后,解压缩档案并将cd放入其中:

$ cd /path/to/xcache-source-code

假设你已经将xcache-3.1.0下载到OSX的下载文件夹中,你就可以运行这个:

$ cd ~/Downloads/xcache-3.1.0

从XCache源代码文件夹中运行以下命令来构建和安装XCache扩展:

$ phpize
$ ./configure --enable-xcache --with-php-config=/Applications/MAMP/bin/php/php5.5.3/bin/php-config
$ make 
$ make install

如果一切顺利,您将在扩展目录中看到xcache.so

现在,您可以通过将extension=xcache.so添加到php.ini来启用扩展。如果您使用的是MAMP Pro,则通过文件>编辑模板>php编辑php.ini非常重要。[version].ini——否则,如果你使用Basic,你可以运行这一行:

$ open -a TextEdit `php -i | grep 'Load.*Config.*File.*=>' | sed s/'.* => '/''/`

现在,在php.ini中搜索其他"扩展"指令,并将extension=xcache.so添加到列表中。

通过运行检查是否已安装

$ php -i | grep xcache

您应该看到Xcache的设置。当您重新启动MAMP时,XCache将被启用。

向JT致敬。

使用5.5.3禁用Zend OPcache

MAMP 2.2附带Zend OPcache为PHP 5.5.3启用。这可能会给XCache带来问题。

如果使用XCache,请确保禁用Zend OPcache。在php.ini中搜索*[OPcache]并注释掉以下行:

zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/…/opcache.so"

;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/…/opcache.so"

相关内容

  • 没有找到相关文章

最新更新