2

Я установил XAMPP на свой MacBook. PHP и MySQL работают нормально, поэтому я продолжил с монго. Я сделал следующее:

  • заваривать монго (успех)
  • brew установить autoconf (успех)
  • sudo /Applications /XAMPP /xamppfiles /bin /pecl установить монго (успех)

Все идет нормально. Я добавил полный путь mongo.so в самый конец `/etc/php.ini следующим образом:

[Монго]
расширение =/Applications/XAMPP/xamppfiles/ Lib / PHP / расширения / нет отлаживать-не-ЗТС-20121212 / mongo.so

Эта проблема:

Однако, введя php --version , вы получите следующее:

Предупреждение PHP: Запуск PHP: mongo: Невозможно инициализировать модуль
Модуль скомпилирован с модулем API = 20121212
PHP скомпилирован с модулем API = 20100525
Эти параметры должны совпадать в Unknown в строке 0
PHP 5.4.24 (cli) (построено: 19 января 2014 21:32:15)

Что я попробовал:

Мне удалось избавиться от этой ошибки выше (обратите внимание: избавиться), обновив PHP для OS X с помощью следующего: curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

Затем я добавил следующие строки в .bash_profile: export PATH=~/bin:/usr/local/php5/bin:$PATH

php -m теперь перечисляет mongo как один из модулей, и он больше не выдает вышеуказанную ошибку.

Однако phpinfo() не имеет mongo, и при запуске моей веб-страницы с помощью клиента mongo выдается следующая ошибка:

Класс FatalErrorException 'MongoClient' не найден

Итак, я повторил следующее: sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

И теперь он говорит мне, что мой монго в курсе:

pecl/mongo уже установлен и совпадает с выпущенной версией 1.5.5

Дополнительная информация:

  • Версия PHP: PHP 5.5.14 (cli) (сборка: 28 июня 2014 г., 10:29:43)
  • Версия Mongo: версия оболочки MongoDB: 2.6.3
  • Монго клиент: 1.5.5

2 ответа2

3

Вы ввели php --version или /Applications/XAMPP/xamppfiles/bin/php --version? А к какому php.ini вы добавили эту строку? В /etc/php.ini или в /Applications/XAMPP/xamppfiles/etc/php.ini?

Первый путь всегда ссылается на PHP по умолчанию OS-X (который является PHP5.4), позднее - на PHP XAMPP (который является PHP5.5 и имеет API, отличный от PHP5.4).

Поэтому я предполагаю, что вы скомпилировали модуль для PHP5.5 (XAMPP) и добавили его в PHP5.4 (OS-X). Это не может работать вообще! Вам нужно добавить mongo so-Path в конец правильного php.ini-файла, который в вашем случае является тем для XAMPP, который (если я напомню corerctly) находится в /Applications/XAMPP/xamppfiles/lib/php.ini

0

У меня была проблема с этим в течение нескольких дней. Это было XAMPP\etc\php.ini . Я добавил /usr/local/php5-5.6.25-20160831-101628/lib/php/extensions/no-debug-non-zts-20131226/mongo.so и он работал нормально. Чтобы найти, где находятся файлы mongo.so в Терминале, введите locate mongo.so

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .