После успешной установки Mongo 2.6.0
я попытался обновить драйвер php mongo
на ubuntu 12.04
с помощью следующей команды: sudo pecl upgrade mongo
. Это началось с:
downloading mongo-1.5.1.tgz ...
Starting to download mongo-1.5.1.tgz (188,885 bytes)
.........................................done: 188,885 bytes
117 source files, building
running: phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
Build with Cyrus SASL (MongoDB Enterprise Authentication) support? [no]:
Где я выбрал No
, потому что, когда я пробовал да, он ошибся с ошибкой. Без меня я смог установить его успешно, и окончательное сообщение выглядело так:
Build process completed successfully
Installing '/usr/lib/php5/20121212/mongo.so'
install ok: channel://pecl.php.net/mongo-1.5.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongo.so" to php.ini
После этого я перезапустил apache (2.4.9
), но мой phpinfo()
сказал мне, что mongo не установлен. С другой стороны, я могу ясно видеть extension=mongo.so
в моем php.ini.
Я проверил свой error.log, и я вижу следующую строку:
PHP Предупреждение: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php5/20121212/mongo.so' -/usr/lib/php5/20121212/mongo.so: undefined символ: php_json_encode в Unknown on line 0
Я проверил свой /usr/lib/php5/20121212/
и увидел, что на самом деле есть файл mongo.so
. Я искал его, и единственное, что мне удалось найти, это this, что не очень актуально, но без других вариантов я все еще пробовал шаги там без успеха.
Есть ли у кого-нибудь идея, как это исправить?