继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

undefined symbol: php_json_

ios开发零基础入门
关注TA
已关注
手记 265
粉丝 20
获赞 110


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:

; configuration for php mongo module; priority=30extension=mongo.so
  • Remove 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.


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP