Предупреждение PHP: Запуск PHP: ????????: Невозможно инициализировать модуль - PullRequest
15 голосов
/ 28 июня 2010

После обновления php с 5.1 до 5.2.10 я получил следующие предупреждения, когда php -v:

    # php -v
    PHP Warning:  PHP Startup: fileinfo: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP Warning:  PHP Startup: mcrypt: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP Warning:  PHP Startup: memcache: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP Warning:  PHP Startup: mhash: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP Warning:  PHP Startup: mssql: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP Warning:  PHP Startup: readline: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP Warning:  PHP Startup: tidy: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
     in Unknown on line 0
    PHP 5.2.10 (cli) (built: Nov 13 2009 11:24:03)
    Copyright (c) 1997-2009 The PHP Group
    Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

Как это исправить?Спасибо!

Ответы [ 9 ]

17 голосов
/ 28 июня 2010

Похоже, вы не обновили модули PHP, они не совместимы.

Проверьте директиву extension_dir в php.ini. Следует указать на папку с 5.2 модулями.

Поскольку вы сделали обновление, есть вероятность, что вы используете старый php.ini, который указывает на модули 5.1

11 голосов
/ 11 ноября 2011

попробуйте обновить каждый из этих модулей с помощью команды pecl

# pecl upgrade fileinfo
# pecl upgrade memcache
# pecl upgrade mhash
# pecl upgrade readline

и т. Д. *

10 голосов
/ 05 сентября 2015

brew reinstall php56-mcrypt --build-from-source

Сделайте это - передайте флаг --build-from-source - для каждого модуля, который должен быть скомпилирован с той же версией.

Для этого также могут потребоваться опции PHP в зависимости от вашегоплагины.Если это так, brew reinstall php56 --with-thread-safety

Чтобы увидеть все опции для php [версия], запустите brew options php56 (заменив 56 вашей версией)

2 голосов
/ 04 мая 2012

Сотрите модуль, который нельзя инициализировать, и переустановите его.

0 голосов
/ 02 августа 2017

Это старая ветка, но я наткнулся на нее, пытаясь решить подобную проблему.

Для меня я получил именно эту ошибку, относящуюся к php_wincache.dll.Я был в процессе обновления PHP с 5.5.38 до 5.6.31 на сервере Windows.По некоторым причинам, не все файлы DLL обновлены с использованием новейших версий.Большинство из них, но некоторые нет.

Итак, если вы получаете сообщение об ошибке, подобное этой, убедитесь, что все расширения установлены и обновлены .

0 голосов
/ 14 ноября 2016

В моем случае, в Windows Server 2008 мне пришлось изменить переменную PATH. Прежняя версия PHP (VC9) была внутри.

Я изменил его с более новой версией PHP (VC11).

После перезапуска Apache все было в порядке.

0 голосов
/ 07 февраля 2016

Если вы установили php с помощью homebrew, проверьте, использует ли файл apache2.conf версию homeprew файла php5.so.

0 голосов
/ 29 сентября 2015

Это случилось со мной, когда я попытался установить более новую версию PHP. После того, как я обнаружил, что мне также потребуется перенастроить Apache, я вернулся к старой версии PHP. Вот решение, которое у меня сработало:

измените httpd.conf на правильные версии:

 PHPIniDir ...
 LoadModule php5_module ...

Изменено

PATH - Environment Variable

Когда это не дает никакого эффекта

rename or delete the new PHP(-Version)-Folder

Почему-то последний шаг помог мне. Даже после перезапуска это никак не отразилось на этом.

0 голосов
/ 05 сентября 2015

Это просто описание того, почему у меня возникла эта проблема на тот случай, если кто-то посчитает ее полезной.

Моя проблема заключалась в том, что я обновил php с помощью homebrew и в какой-то момент вывел переменную PHP_INI_SCAN_DIR в свой профиль или файл bashrcтак что это указывало на старую версию php.Убрал эту строку и исправил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...