После обновления 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
Как я могу это исправить? Благодаря!
Похоже, вы не обновили модули PHP, они несовместимы.
Проверьте директиву extension_dir в php.ini. Он должен указывать на папку с 5.2 модулями.
Поскольку вы обновили, есть вероятность, что вы используете старый php.ini, который указывает на модули 5.1
попробуйте обновить каждый из этих модулей с помощью команды pecl
# pecl upgrade fileinfo # pecl upgrade memcache # pecl upgrade mhash # pecl upgrade readline
и т.д…
brew reinstall php56-mcrypt --build-from-source
Сделайте это – передайте --build-from-source
– для каждого модуля, который необходимо скомпилировать с той же версией.
В зависимости от ваших плагинов также могут потребоваться варианты PHP. Если это так, brew reinstall php56 --with-thread-safety
Чтобы просмотреть все опции для php [version], запустите brew options php56
(заменив 56 вашей версией)
Удалите модуль, который нельзя инициализировать и переустановить.
Это просто описание того, почему у меня была эта проблема, если кто-то сочтет это полезным.
Моя проблема заключалась в том, что я обновил php с помощью homebrew и в какой-то момент заставил переменную PHP_INI_SCAN_DIR в моем профиле или файле bashrc, чтобы он указывал на старую версию php. Удалена эта строка и исправлена.
Это случилось со мной, когда я попытался установить более новую версию PHP
. Обнаружив, что мне также потребуется переконфигурировать Apache, я вернулась к старой версии PHP. Здесь решение, которое сработало для меня:
измените httpd.conf на правильные версии:
PHPIniDir ... LoadModule php5_module ...
Изменено
PATH - Environment Variable
Когда это не имеет никакого эффекта
rename or delete the new PHP(-Version)-Folder
Почему-то последний шаг сделал трюк для меня. Даже после перезагрузки он не имел эффекта, прежде чем делать это.
Если вы установили php с homebrew, проверьте, использует ли ваш файл apache2.conf версию homeprew php5.so.
В моем случае, с Windows Server 2008, мне пришлось изменить переменную PATH
. В нем была первая версия PHP (VC9).
Я изменил его с новой версией PHP (VC11).
После перезагрузки Apache все было в порядке.
Это старый поток, но я наткнулся на него, пытаясь решить подобную проблему.
Для меня у меня php_wincache.dll
эта ошибка, связанная с php_wincache.dll
. Я был в процессе обновления PHP с 5.5.38 по 5.6.31 на сервере Windows. По некоторым причинам не все файлы DLL обновлены с помощью новейших версий. Большинство из них, но некоторые не сделали этого.
Итак, если вы получите ошибку, подобную этой, убедитесь, что все расширения установлены и обновлены .