6

我正在尝试memcached在我的 mac 中安装。我已经下载并安装了它。我也将它添加到 php.ini 中。但仍然memcached没有加载。我意识到问题在于 和 的API版本不匹配。phpphpize

这就是我做的时候得到的php -v

PHP Warning:  PHP Startup: memcached: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
 in Unknown on line 0
PHP 5.4.8 (cli) (built: Oct 30 2012 19:29:58) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

如果有人能帮助我解决这个问题,我将不胜感激。干杯。

4

3 回答 3

12

是的,您应该通过以下步骤手动构建扩展

phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

确保您运行phpizephp-config指向正确的 php 版本。

不在/usr/bin/phpize/usr/include/php

确保使用--with-php-config

于 2015-05-29T17:00:20.767 回答
2

您将需要手动构建 PHP 扩展。您最终得到的扩展是针对系统的 PHP 5.3 副本构建的,而不是您自行安装的 PHP 5.4。

于 2013-01-15T04:44:22.613 回答
0

根据你的php版本下载phpX.X.tgz,解压并复制php.z、zend_modules.h、zend_extension.h文件到include目录下(你可以通过编辑文件并搜索找到正确的api版本)定义 API_VERSION 它必须与 phpinfo 显示的 api 编号匹配)

换句话说,当您构建扩展时,您必须包含正确的 .h 文件,它可以从 phpxx.tgz 源获得

于 2014-01-03T15:43:13.813 回答