PHP无法使用已编译的memcache.so扩展名

时间:2012-10-20 15:58:44

标签: php memcached

我在Ubuntu 12.04上从源代码编译PHP 5.4.8。 PHP驻留在自定义目录中。

我编译了memcache-2.2.7,最后得到了一个memcache.so扩展名。

我修改了php.ini并添加了:

extension=/jusr/php5/ext/memcache.so

但是当我在CLI上运行测试脚本时出现错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/jusr/php5/ext/memcache.so' - /jusr/php5/ext/memcache.so: undefined symbol: executor_globals in Unknown on line 0

怎么了?

2 个答案:

答案 0 :(得分:4)

我实际上已经弄清楚了。大多数“指南”都没有告诉你,你需要将memcache与PHP安装中的php-config文件链接起来。

cd /home/user/memcache-2.2.7
phpize --clean && phpize
./configure --with-php-config=/path/to/php/bin/php-config
make
make install

这就是你如何将memcache与PHP联系起来。我无法在任何地方得到这个。

答案 1 :(得分:0)

(来自bugs.php.net)

您使用错误的PHP标头构建了库。   请确保您系统中的phpize和php-config附带了您正在使用的PHP版本。

https://bugs.php.net/bug.php?id=57263