Расширения PHP для Windows не загружаются

Я работаю на машине с Windows Server 2008 R2. Я установил apache 2.2 с php 5.4.25. Пытаясь включить поддержку ldap для сервера apache, я обнаружил, что сервер не загружает расширения.

Я запустил php_info () и вот результат

Путь к файлу конфигурации (php.ini)

C: \ Windows Загруженный файл конфигурации: "C: \ php \ php.ini

каталог_расширения C: \ php \ ext

Я изменил php.ini для загрузки расширений, но они не загружаются и не отображаются в дампе php_info. Я пытался перезапустить сервер и apache около миллиона раз, но безуспешно вносил изменения. Так что, если кто-нибудь знает решение этой проблемы, было бы здорово.


person squirreldev    schedule 07.03.2014    source источник


Ответы (3)


С этим у меня тоже было много проблем. Убедитесь, что вы настраиваете правильный файл php.ini. Почему-то у меня их было двое.

Это из моего phpinfo ()

Configuration File (php.ini) Path   C:\Windows
Loaded Configuration File   C:\wamp\bin\apache\apache2.4.4\bin\php.ini <--- this is the one I needed to manually update

Затем я сбросил свой файл php_ldap.dll в:

C:\wamp\bin\php\php5.4.16\ext

Обновил мой файл php.ini, чтобы загрузить расширение

Добавлен каталог PHP в путь к Windows.

Дополнительная информация здесь: http://www.php.net/manual/en/faq.installation.php#faq.installation.addtopath

Мой выглядит как

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Shoreline Communications\ShoreWare Client\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files\Microsoft SQL Server\110\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;c:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;c:\wamp\bin\php\php5.4.16

Изображение: http://i.imgur.com/hQUwtYA.png

Перезагрузил машину, и все заработало.

person Waragi    schedule 07.03.2014
comment
Я на 100% уверен, что настраиваю правильный файл php.ini, потому что могу изменять в нем значения. Он просто не загружает никаких расширений. - person squirreldev; 07.03.2014
comment
Вам никогда не нужно помещать НИЧЕГО из WAMPServer в ПУТЬ - person RiggsFolly; 23.03.2020

У меня была такая же проблема в Windows. После изменения пути к каталогу расширений (в php.ini) на абсолютный путь все заработало.

Как предлагается в php.ini по умолчанию (не работает):

extension_dir = "ext"

Превратился в абсолютный путь (рабочий)

extension_dir = "c:\amp\php\ext"

Странно то, что эта проблема возникает только на некоторых машинах / версиях. Не смог пригвоздить. Здесь указана официальная ошибка:

https://bugs.php.net/bug.php?id=74866

person Gerfried    schedule 19.08.2020
comment
FWIW Я изменил extension_dir со значения по умолчанию "ext" на ".\ext", и это сработало. - person Marc.2377; 02.09.2020
comment
Я просто раскомментировал ;extension_dir = "ext", и это сработало - person Kutalia; 16.10.2020
comment
было 2 версии php7 на одном компьютере (одна с Apache, одна с IIS). Это единственное решение, которое устранило мою проблему. Apache продолжал загружать неправильные модули php ... - person Vlad Balan; 10.12.2020

Нужно добавить свой путь php в системную переменную окружения? Я сталкивался с этой проблемой раньше. После добавления C: \ php в переменную окружения оконной системы. Оно работает!

person Erik    schedule 21.07.2021