2012-10-20 30 views
2

我有在Ubuntu 12.04上从源代码编译的PHP 5.4.8。 PHP驻留在自定义目录中。PHP无法使用已编译的memcache.so扩展

我编译了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 

有什么不对?

+0

您应该将解决方案迁移到了自己的答案,并接受它,所以它更清晰未来游客发生了什么事。 –

+0

好的想法.. – nick

回答

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。我无法得到这个任何地方。

0

(从bugs.php.net)

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

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

+0

我已经看到之前我在这里发布的链接。它没有告诉我什么 – nick