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

mle*_*n15 2 php memcached json

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

Eri*_*ang 7

因为你在 php.ini 中添加了 json.so 并且没有删除 php.d/json.ini

错误说明原因:json.so 应该在 memcached.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. 添加extension=memcached.so/memcached.ini
  4. php -m | grep memcached 检查 memcached 是否加载成功

解决方案2

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