Подтвердить что ты не робот

PHP Предупреждение: запуск PHP:????????: невозможно инициализировать модуль

После обновления 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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

и т.д...

Ответ 3

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

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

Он также может потребовать настройки PHP в зависимости от ваших плагинов. Если да, brew reinstall php56 --with-thread-safety

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

 PHPIniDir ...
 LoadModule php5_module ...

Изменен

PATH - Environment Variable

Если это не имеет никакого эффекта

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

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

Ответ 7

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

Ответ 8

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

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

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

Ответ 9

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

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

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