Расширение PHP включено, но не загружено в Apache
По некоторым причинам мои расширения php включены, но не загружены моим сервером Apache 2.4. Я пропускаю расширения mbstring и fileinfo. Я выполнил установку вручную, и я хочу сохранить ее, в основном, в учебных целях.
Когда я говорю включен, я имею в виду, что когда я бегу php -m
в cmd расширения находятся в списке
Тем не менее, когда я бегу <?php phpinfo();
с моего сервера этих расширений нет в списке.
В моем файле php.ini я настроил только следующие элементы (связанные с расширениями):
extension_dir = "ext"
extension=mbstring (uncommented the line)
extension=fileinfo (uncommented the line)
Я добавил следующее в httpd.conf:
# PHP5 module
LoadModule php7_module "C:/php/php7apache2_4.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php/"
И в phpinfo(), я вижу, что загружен только один php.ini, тот из C:/php
Почему мои расширения не будут доступны на моем сервере Apache? Нужно ли как-то вручную загружать / включать их в Apache?
* Версии: Apache 2.4.39, PHP 7.3.4
0 ответов
У меня та же проблема с моими собственными расширениями, выходящими за рамки обычного типа конфигурации Apache PHP. Я обнаружил, что если я не использую Apache в качестве службы и открываю командную консоль для запуска Apache, она загружается. Это единственный способ загрузки. Не используйте пакетный процесс или сервис.
Для Windows
- нажмите Winkey+R,
- тип
cmd
, - нажмите Ctrl+Shift+Enter и
- нажмите "да".
- Затем перейдите в каталог Apache/bin и введите
httpd
,
Я думаю, что если вы сделаете что-то за пределами нормы, пользовательские расширения не будут работать, если вы не создадите свои собственные исполняемые файлы.