Après avoir mis à jour php de 5.1 à 5.2.10, j'ai reçu les avertissements suivants lorsque 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
Comment puis-je le réparer? Merci!
On dirait que vous n'avez pas mis à jour les modules PHP, ils ne sont pas compatibles.
Vérifiez la directive extension_dir dans le fichier php.ini. Il devrait pointer sur dossier avec 5.2 modules.
Depuis que vous avez mis à jour, il est possible que vous utilisiez le vieux php.ini qui pointe vers les modules 5.1
essayez de mettre à niveau chacun de ces modules en utilisant la commande pecl
# pecl upgrade fileinfo
# pecl upgrade memcache
# pecl upgrade mhash
# pecl upgrade readline
etc...
brew reinstall php56-mcrypt --build-from-source
Faites ceci - passez l'indicateur --build-from-source
- pour chaque module devant être compilé avec la même version.
Cela peut également nécessiter des options PHP en fonction de vos plugins. Si oui, brew reinstall php56 --with-thread-safety
Pour voir toutes les options de php [version], lancez brew options php56
(en remplaçant 56 par votre version)
Effacez le module qui ne peut pas être initialisé et réinstallez-le.
Cela m'est arrivé lorsque j'ai essayé d'installer une version plus récente de PHP
. Après avoir constaté que je devrais également reconfigurer Apache pour cela, je suis revenu à l'ancienne version PHP. Voici la solution qui a fonctionné pour moi:
remplacez httpd.conf par les versions correctes:
PHPIniDir ...
LoadModule php5_module ...
Modifié le
PATH - Environment Variable
Quand cela ne prend aucun effet
rename or delete the new PHP(-Version)-Folder
Pour une raison quelconque, la dernière étape a fait l'affaire pour moi. Même après un redémarrage, cela n’a eu aucun effet auparavant.
Dans mon cas, avec Windows Server 2008, je devais modifier la variable PATH
. L'ancienne version de PHP (VC9) s'y trouvait.
Je l'ai changé avec la version plus récente de PHP (VC11).
Après un redémarrage d'Apache, tout allait bien.
Ceci décrit simplement pourquoi j'ai eu ce problème au cas où quelqu'un le trouverait utile.
Mon problème était que j'avais mis à niveau php avec homebrew et que j'avais forcé à un moment donné la variable PHP_INI_SCAN_DIR dans mon profil ou mon fichier bashrc, de sorte qu'elle pointait vers l'ancienne version de php. Supprimé cette ligne et corrigé.
Si vous avez installé php avec homebrew, vérifiez si votre fichier Apache2.conf utilise la version homebrew du fichier php5.so.
C'est un vieux fil, mais je suis tombé dessus en essayant de résoudre un problème similaire.
Pour moi, j'ai eu cette erreur particulière concernant le php_wincache.dll
. J'étais en train de mettre à jour PHP du 5.5.38 au 5.6.31 sur un serveur Windows. Pour une raison quelconque, tous les fichiers DLL n'ont pas été mis à jour avec les versions les plus récentes. La plupart l'ont fait, mais d'autres non.
Donc, si vous obtenez une erreur semblable à celle-ci, assurez-vous que toutes les extensions sont en place et mises à jour .