on line 0 php,undefined symbol: php_json_encode in Unknown on line 0.

博客内容讲述了如何解决PHP加载扩展时遇到的问题,特别是确保json扩展在mongo扩展之前加载。通过在/etc/php/mods-available目录下创建单独的mongo.ini文件,并设置更高的加载优先级,确保json先于mongo.so加载,从而解决了问题。操作步骤包括创建配置文件、移除php.ini中的mongo.so引用、创建符号链接等。
摘要由CSDN通过智能技术生成

The issue is with the loading order, so the json extension needs to be loaded before mongo.so is loaded.

Since others are likely to come across this I will outline the whole process:In your /etc/php/mods-available directory (or as appropriate to platform) create a separate mongo.ini with the following:;configurationforphp mongo module;priority=30extension=mongo.soRemove any other references to mongo.so from other files such as php.ini

Create symlinks in each of the cli and apache2 directories as required for use as so:sudo ln -s ../../mods-available/mongo.ini 30-mongo.ini

At end of this you should have a structure that looks like this$/etc/php5$ tree.├──apache2│├──conf.d││├──05-opcache.ini->../../mods-available/opcache.ini││├──10-pdo.ini->../../mods-available/pdo.ini││├──20-json.ini->../../mods-available/json.ini││├──20-readline.ini->../../mods-available/readline.ini││└──30-mongo.ini->../../mods-available/mongo.ini│└──php.ini├──cli│├──conf.d││├──05-opcache.ini->../../mods-available/opcache.ini││├──10-pdo.ini->../../mods-available/pdo.ini││├──20-json.ini->../../mods-available/json.ini││├──20-readline.ini->../../mods-available/readline.ini││└──30-mongo.ini->../../mods-available/mongo.ini│└──php.ini└──mods-available├──json.ini├──mongo.ini├──opcache.ini├──pdo.ini└──readline.ini

This makes sure that the "json" extension will be loaded by the dynamic loader before the "mongo" module is.

But basically remove the mongo.so from "php.ini" and put it in it's own file with higher loading order than the json extension. Then it will work.

This possibly needs a JIRA as I believe it has come up before.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值