Как исправить PHP Warning: PHP Startup: не удается загрузить динамическую библиотеку 'ext\\php_curl.dll'?

В настоящее время у меня установлен PHP 5.5.12 и Apache 2.4 на Windows Server 2008 R2. Все работает отлично, без проблем/предупреждений.

Я скопировал тот же файл/конфигурацию Apache на другой сервер. Я скопировал каталог C:\PHP а затем каталог C:\Apache24 и вставил их на новый сервер.

Затем я установил Apache с одним изменением (т.е. установкой httpd -k install). Я изменил номер порта с 80 на 8877. Apache работает без проблем и работает на порту 8877. Я также могу открыть страницу по умолчанию, перейдя к SERVER_IP_ADDRESS: 8877, и это работает.

Но PHP не работает как надо. В файле error.log с сервера Apache я получаю предупреждение, указанное ниже

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

Я не могу понять, почему я получаю эту ошибку? Все .dll файлы, о которых говорится в предупреждении "Указанный модуль не найден", существуют в каталоге C:\PHP\extphp

Расширения PHP расположены в

C:\php\ext

Внутри файла php.ini у меня есть эта переменная

extension_dir = "ext"

вот список каталогов папки 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

Когда я пытаюсь получить доступ к сайту, я получаю эту ошибку

Неустранимая ошибка: неопределенная константа класса 'MYSQL_ATTR_INIT_COMMAND'

это потому, что расширения не загружены.

Я предполагаю, что конфигурация правильная, так как одна и та же конфигурация работает на другом сервере.

Как я могу исправить эту проблему запуска PHP?

Ответы

Ответ 1

Как и @Darren, в комментариях Apache не понимает относительные пути php.ini в системах Windows.

В руководстве по PHP у нас есть How-install для установки Apache 2.x в Microsoft Windows. Один из комментариев предлагает использовать абсолютные пути.

Итак, попробуйте изменить относительные пути в php.ini на абсолютные пути.

extension_dir="C:\full\path\to\php\ext"

Ответ 2

Использовать абсолютный путь:

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

Ответ 3

Нет быстрого использования:

dir /x

Закажите редуцио до директивы по программе "Файлы программ (x86)"

27/08/2018  15:07    <DIR>          PROGRA~2     Program Files (x86)

Coloque seguinte configuração em php.ini para a opção:

extension_dir="C:\PROGRA~2\path\to\php\ext"

Acredito que isso resolver seu problemma.

Zorro

Ответ 4

может быть кому-нибудь пригодится, у меня следующая проблема на windows 8, apache 2.4, php 7+.

php.ini conf>

extension_dir="C:/Server/PHP7/ext"

php на apache работает нормально но на cli проблема с загрузкой libs, в результате я поменял на

extension_dir="C:/server/PHP7/ext"

Ответ 5

У меня такая же проблема с windows10, apache 2.2.25, php 5.2 Я пытаюсь добавить GD в работающий PHP.

как я оборачиваюсь и переключаюсь между прямой и обратной косой чертой, плюс трейлинг или нет, я получаю некоторый вариант;

Предупреждение PHP: Запуск PHP: не удается загрузить динамическую библиотеку 'C: /php\php_gd2.dll' - Det g\xe5r inte att hitta den angivna modulen.\R\n в Unknown в строке 0

(перевод на шведский: "Невозможно найти модуль")

в этом случае, php.ini был: extension_dir = "C: /php"

DLL помещается в два места C:\php и C:\php\ext

Возможно ли, что есть и "ошибка" в записи журнала ошибок? То есть что .dll найден (как файл), но не в правильном формате, или что-то вроде того??