J'ai actuellement PHP 5.5.12 et Apache 2.4 installé sur Windows Server 2008 R2. Tout fonctionne parfaitement, sans problème/avertissements.
Ce que j'ai fait est de copier le même fichier/configuration Apache sur un autre serveur. J'ai copié le répertoire C:\PHP
, puis le répertoire C:\Apache24
et les ai collés dans le nouveau serveur.
Puis j'ai installé Apache avec une modification (c'est-à-dire httpd -k install
.). J'ai changé le numéro de port de 80 à 8877. Apache fonctionne sans problème et s'exécute sur le port 8877. Je peux aussi ouvrir la page par défaut en allant à SERVER_IP_ADDRESS: 8877 et cela fonctionne.
Mais, PHP ne fonctionne pas comme il se doit. Dans le fichier error.log du serveur Apache, je reçois l'avertissement ci-dessous.
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_pdo_sqlsrv_55_ts.dll' - The specified module could not be found.\r\n in Unknown on line 0
Je n'arrive pas à comprendre pourquoi je reçois cette erreur? Tous les fichiers .dll signalés par l'avertissement "Le module spécifié est introuvable" existent dans le répertoire C:\PHP\ext
Les extensions PHP se trouvent dans
C:\php\ext
Dans le fichier php.ini j'ai cette variable
extension_dir = "ext"
voici une liste des répertoires du dossier ext
Volume in drive C is OS
Volume Serial Number is C63C-1D75
Directory of C:\php\ext
07/29/2014 06:42 PM <DIR> .
07/29/2014 06:42 PM <DIR> ..
04/30/2014 02:46 PM 66,560 php_bz2.dll
04/30/2014 02:46 PM 72,704 php_com_dotnet.dll
04/30/2014 02:46 PM 507,392 php_curl.dll
04/30/2014 02:46 PM 18,944 php_enchant.dll
04/30/2014 02:46 PM 43,008 php_exif.dll
04/30/2014 02:46 PM 2,679,808 php_fileinfo.dll
04/30/2014 02:46 PM 1,358,848 php_Gd2.dll
04/30/2014 02:46 PM 40,960 php_gettext.dll
04/30/2014 02:46 PM 240,128 php_gmp.dll
04/30/2014 02:46 PM 831,488 php_imap.dll
04/30/2014 02:46 PM 65,024 php_interbase.dll
04/30/2014 02:46 PM 261,632 php_intl.dll
04/30/2014 02:46 PM 179,200 php_ldap.dll
04/30/2014 02:46 PM 1,239,552 php_mbstring.dll
04/30/2014 02:46 PM 36,864 php_mysql.dll
04/30/2014 02:46 PM 88,576 php_mysqli.dll
04/30/2014 02:46 PM 141,824 php_oci8.dll
04/30/2014 02:46 PM 142,336 php_oci8_11g.dll
04/30/2014 02:46 PM 120,320 php_opcache.dll
04/30/2014 02:46 PM 72,704 php_openssl.dll
04/30/2014 02:46 PM 21,504 php_pdo_firebird.dll
04/30/2014 02:46 PM 24,576 php_pdo_mysql.dll
04/30/2014 02:46 PM 23,040 php_pdo_oci.dll
04/30/2014 02:46 PM 20,480 php_pdo_odbc.dll
04/30/2014 02:46 PM 27,648 php_pdo_pgsql.dll
04/30/2014 02:46 PM 465,408 php_pdo_sqlite.dll
08/28/2012 04:15 PM 186,520 php_pdo_sqlsrv_54_ts.dll
06/26/2013 03:22 PM 166,400 php_pdo_sqlsrv_55_ts.dll
04/30/2014 02:46 PM 90,112 php_pgsql.dll
04/30/2014 02:46 PM 12,288 php_shmop.dll
04/30/2014 02:46 PM 385,536 php_snmp.dll
04/30/2014 02:46 PM 236,544 php_soap.dll
04/30/2014 02:46 PM 54,784 php_sockets.dll
04/30/2014 02:46 PM 617,472 php_sqlite3.dll
08/28/2012 04:15 PM 204,952 php_sqlsrv_54_ts.dll
06/26/2013 03:22 PM 183,296 php_sqlsrv_55_ts.dll
04/30/2014 02:46 PM 31,744 php_sybase_ct.dll
04/30/2014 02:46 PM 236,544 php_tidy.dll
04/30/2014 02:46 PM 51,712 php_xmlrpc.dll
04/30/2014 02:46 PM 231,936 php_xsl.dll
40 File(s) 11,480,368 bytes
2 Dir(s) 83,103,895,552 bytes free
Lorsque j'essaie d'accéder au site Web, j'obtiens cette erreur.
Erreur fatale: constante de classe non définie 'MYSQL_ATTR_INIT_COMMAND'
c'est parce que les extensions ne sont pas chargées.
Je suppose que la configuration est correcte car la même configuration fonctionne sur un serveur différent.
Comment puis-je résoudre ce problème PHP Problème de démarrage?
Comme @Darren l'a déclaré dans des commentaires, Apache ne comprend pas les chemins relatifs php.ini
dans les systèmes Windows.
Dans le manuel PHP, nous avons un manuel Comment installer Apache 2.x sous Microsoft Windows . L'un des commentaires suggère d'utiliser des chemins absolus.
Essayez donc de changer les chemins relatifs dans votre php.ini
en chemins absolus.
extension_dir="C:\full\path\to\php\ext"
Utiliser le chemin absolu:
extension_dir="C:\full\path\here"
Pas d'utilisation rapide:
dir /x
Procure o nome reduzido do diretório na linha do "Program Files (x86)"
27/08/2018 15:07 <DIR> PROGRA~2 Program Files (x86)
Coloque a seguinte configuração em php.ini pour une opération:
extension_dir="C:\PROGRA~2\path\to\php\ext"
Acredito que isso résoudre tous les problèmes.
Zorro