我通过以下方式安装了memcache:
1) yum install memcached 2) yum install php-pecl memcached 3)还在php.ini中启用了‘memcached.so
我用下面的方式测试了memcached:
$mc =新的内存缓存;$mc->addServer('localhost',11211);echo“服务器的版本:”。$mc->getVersion();
但它会生成以下错误:
警告: PHP启动:无法加载动态库'/usr/lib64/ PHP /modules/memcached.so‘- /usr/lib64/ PHP /modules/memcached.so:未定义的symbol: php_json_encode在第0行未知中PHP致命错误:在第2行的/root/memcacheTest.php中找不到类'Memcache’
谢谢你。
发布于 2011-01-28 18:22:09
我对PHP不是很了解(或者根本不了解),但是从错误消息中我可以断定您还没有安装PHP JSON扩展,而memchached扩展显然需要这个扩展。
Apparently,JSON扩展从版本5.2.0开始就存在于PHP中,因此:
扩展模块
或
您的操作系统分销商
当然存在配置错误的可能性,但我认为这种可能性稍微小一些。
发布于 2015-07-10 01:16:03
这表明memcached.so没有成功加载。
错误显示原因: json.so应在memcached.so之前加载
请使用php -m | grep memcached检查memcached.so是否加载成功。
如果显示PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/memcached.so' - /usr/lib64/php/modules/memcached.so: undefined symbol: php_json_decode_ex in Unknown on line 0,则表示成功。如果显示
memcached,则显示下面是解决方案:例如,您的php.ini是/etc/php.ini,php.d是/etc/php.d/
解决方案1
检查/memcached.ini
php -m | grep memcached中php.ini
vim /etc/php.d/memcached.ini
extension=memcached.so中的解决方案2
在extension=memcached.so
php -m | grep memcached之前检查php.in中的缓存检查memcached是否已成功加载发布于 2011-01-28 18:20:03
你能反复检查用户权限吗?此外,我对PHP的经验是,PHP的分发存储库版本不是很好。我通过从头开始编译PHP解决了这些符号错误。但这是一个非常激进和耗时的解决方案。
https://stackoverflow.com/questions/4827023
复制相似问题