首页 文章

在MAMP上升级XCache

提问于
浏览
2

在尝试为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 回答

  • 3

    针对MAMP构建XCache

    • 安装命令行

    • 下载并配置php源码

    • 构建xcache

    安装命令行

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

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

    您还需要将上面的内容添加到 ~/.bashrc 以确保将来的会话使用正确的php命令 - 附加到.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源码

    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/ .

    当你运行:

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

    你应该看到一堆输出 . 如果您看到错误双重检查,则将源复制到正确的位置 .

    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

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

    假设您已将xcache-3.1.0下载到OSX的Downloads文件夹中,您可以运行以下命令:

    $ 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来启用扩展 . 如果你通过文件>编辑模板> php . [版本] .ini来编辑php.ini很重要 - 否则如果你使用的是Basic,你可以运行这个单行程序:

    $ open -a TextEditphp -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]并注释掉该行:

    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"
    

相关问题