web-dev-qa-db-fra.com

Comment réparer PHP Attention: PHP Démarrage: Impossible de charger la bibliothèque dynamique 'ext \\ php_curl.dll'?

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?

19
Jaylen

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"
34
gmsantos

Utiliser le chemin absolu:

extension_dir="C:\full\path\here"
3
surajprogrammez

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

1
Zorro Sistemas