Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 在MAMP上升级XCache_Drupal_Mamp_Drush_Xcache - Fatal编程技术网

Drupal 在MAMP上升级XCache

Drupal 在MAMP上升级XCache,drupal,mamp,drush,xcache,Drupal,Mamp,Drush,Xcache,在尝试为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.1

在尝试为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时出现了这个问题。

针对MAMP构建XCache
  • 设置命令行
  • 下载并配置php源代码
  • 构建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/include/php/configure
    
    您应该看到:
    /Applications/MAMP/bin/php/php5.5.3/php

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

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

    运行时:

    $ which php
    
    $ /Applications/MAMP/bin/php/php5.5.3/include/php/configure
    
    您应该看到一系列输出。如果看到错误,请仔细检查是否已将源复制到正确的位置

    现在您可以开始针对PHP5.5.3构建扩展

    注意:您可能需要创建包含文件夹 由于MAMP没有附带源代码,所以他们选择省略
    include
    文件夹-继续创建它,因为在从源代码构建扩展时,它是查找php源代码的常规位置

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

    从源代码构建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

    现在,您可以通过向php.ini添加
    extension=xcache.so
    来启用扩展。如果您使用的是MAMP Pro,则必须通过文件>编辑模板>php.[version].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

    使用5.5.3禁用Zend OPcache MAMP 2.2附带了针对PHP5.5.3启用的。这可能会导致XCache出现问题

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

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


    首先,我看不到“include”文件夹。不过我有一个lib文件夹。所以我也做了同样的事情,但是在lib文件夹中。其次,我在“cd xcache目录”中完全失去了你。我没有xcache目录!更新答案以解决您的问题。