在尝试为MAMP编译Xcache版本3.x时,phpize会查找Xcache 2.x附带的以前版本的PHP
pwd:/Applications/MAMP/bin/php/php5.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时出现了这个问题 .
1 回答
针对MAMP构建XCache
安装命令行
下载并配置php源码
构建xcache
安装命令行
您需要配置Bash以使用正确的
php
命令 . 由于您希望使用5.5.3针对MAMP构建,因此可以在提示符上运行以下命令:您还需要将上面的内容添加到
~/.bashrc
以确保将来的会话使用正确的php命令 - 附加到.bashrc:现在当你运行:
你应该看到:
/Applications/MAMP/bin/php/php5.5.3/php
下载并配置php源码
从http://www.php.net/releases/下载php5.5.3源代码 . MAMP不包含PHP源代码,因此您必须在从源代码构建扩展时提供和配置它 .
提取存档并将文件夹重命名为
php
并将其重置为/Applications/MAMP/bin/php/php5.5.3/include/
- 这意味着您现在应该拥有路径/Applications/MAMP/bin/php/php5.5.3/include/php/
.当你运行:
你应该看到一堆输出 . 如果您看到错误双重检查,则将源复制到正确的位置 .
Now 您可以开始针对PHP 5.5.3构建扩展 .
注意:您可能必须创建包含文件夹
由于MAMP没有附带源代码,因此他们选择省略
include
文件夹 - 继续创建它,因为它是从源代码构建扩展时的源代码 .如果你有一个位于
/path/to/php5.x/
的php5.x的编译版本,则应该在/path/to/php5.x/include/php/
找到php源代码 .从源代码构建XCache
downloading the XCache source code解压缩归档后
cd
:假设您已将xcache-3.1.0下载到OSX的Downloads文件夹中,您可以运行以下命令:
从XCache源代码文件夹中运行以下命令来构建和安装Xcache扩展:
如果一切顺利,您将在扩展目录中看到
xcache.so
.现在,您可以通过将
extension=xcache.so
添加到php.ini来启用扩展 . 如果你通过文件>编辑模板> php . [版本] .ini来编辑php.ini很重要 - 否则如果你使用的是Basic,你可以运行这个单行程序:$ open -a TextEdit
php -i | grep 'Load.Config.File.=>' | sed s/'. => '/''/``现在,在php.ini中搜索其他"extension"指令并将
extension=xcache.so
添加到列表中 .通过运行检查它是否已安装:
$ php -i | grep xcache
您应该看到Xcache的设置 . 当您重新启动MAMP时,将启用XCache .
Hat tip to JT .
使用5.5.3禁用Zend OPcache
MAMP 2.2附带Zend OPcache,用于PHP 5.5.3 . 这可能会导致XCache出现问题 .
如果您使用XCache,请确保禁用Zend OPcache . 在php.ini中搜索* [OPcache]并注释掉该行:
喜欢