由于json,PHP无法加载Memcached扩展?

时间:2011-02-15 22:42:01

标签: php json memcached

它说“未定义的符号:php_json_encode”但是已经安装了json?另外,当我将json.so添加到php.ini时,它说模块已经加载了吗?

1 个答案:

答案 0 :(得分:2)

因为你将json.so添加到php.ini中并且不删除php.d / json.ini

错误显示原因:应在memcached.so之前加载json.so

请使用php -m | grep memcached检查memcached.so是否已成功加载。

  • 如果显示memcached,则表示已成功。
  • 如果其显示为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

以下是解决方案: 例如你的php.ini是/etc/php.ini,你的php.d是/etc/php.d /

解决方案1 ​​

  1. 在php.ini中评论'memcached.so'
  2. vim /etc/php.d/memcached.ini
  3. 在/memcached.ini
  4. 中添加extension=memcached.so
  5. php -m | grep memcached检查memcached是否已成功加载
  6. 解决方案2

    1. rm /etc/php.d/json.ini
    2. extension=json.so
    3. 之前在php.ini中添加extension=memcached.so
    4. php -m | grep memcached检查memcached是否已成功加载