PHP загружает расширения при вызове через CLI, но не через Apache

PHP для меня отлично загружает расширения только при вызове из CLI, но не когда я загружаю страницы через Apache.

Например, это результат php -m :

[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
filter
hash
iconv
json
libxml
mysqlnd
openssl
pcre
PDO
Phar
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

Однако при запуске через Apache:
1. В phpinfo () поддержка OpenSSL отображается как «отключена».
2. extension_loaded ("curl") равно false
3. get_loaded_extensions () не включает curl или OpenSSL .
4. Попытка использовать любую из функций расширений не удалась.

Вот var_dump (get_loaded_extensions ()); при работе через Apache:

array(28) {
  [0]=>
  string(4) "Core"
  [1]=>
  string(6) "bcmath"
  [2]=>
  string(8) "calendar"
  [3]=>
  string(5) "ctype"
  [4]=>
  string(4) "date"
  [5]=>
  string(6) "filter"
  [6]=>
  string(4) "hash"
  [7]=>
  string(5) "iconv"
  [8]=>
  string(4) "json"
  [9]=>
  string(3) "SPL"
  [10]=>
  string(4) "pcre"
  [11]=>
  string(8) "readline"
  [12]=>
  string(10) "Reflection"
  [13]=>
  string(7) "session"
  [14]=>
  string(8) "standard"
  [15]=>
  string(7) "mysqlnd"
  [16]=>
  string(9) "tokenizer"
  [17]=>
  string(3) "zip"
  [18]=>
  string(4) "zlib"
  [19]=>
  string(6) "libxml"
  [20]=>
  string(3) "dom"
  [21]=>
  string(3) "PDO"
  [22]=>
  string(4) "Phar"
  [23]=>
  string(9) "SimpleXML"
  [24]=>
  string(3) "xml"
  [25]=>
  string(9) "xmlreader"
  [26]=>
  string(9) "xmlwriter"
  [27]=>
  string(14) "apache2handler"
}

ОС: Windows 10 1809, последняя версия.

php -v :

PHP 7.4.5 (cli) (built: Apr 14 2020 16:17:34) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

httpd : Apache 2.4.43 Win64 из https://www.apachelounge.com/

PHP и Apache взаимодействуют через это в httpd.conf (mod_php):

LoadModule php7_module "C:/<path_to_PHP>/PHP7/php7apache2_4.dll"

На этом компьютере установлена ​​только одна установка Apache + PHP.


Что я пробовал:

  1. Подтверждено, что PHP использует один и тот же ini-файл в обоих режимах. Если я отключу расширения из ini-файла, они перестанут отображаться в php -m (как должны).
  2. (Повторная) установка распространяемого пакета MS Visual Studio C ++ 2015-19 (как x86, так и x64).
  3. Перезапуск httpd .
  4. Перезагрузка ПК.
  5. Переустановка PHP и Apache.
  6. display_startup_errors = on , а затем проверка журналов. В журналах ошибок Apache и PHP нет соответствующей информации.
  7. Подтверждено, что PHP работает в ZTS в php.exe -v , «Безопасность потоков» отображается как включенная в phpinfo () через Apache.

Пожалуйста, помогите. Мне нужно, чтобы этот веб-сервер работал, и это сводит меня с ума.

0
задан 5 May 2020 в 22:05
1 ответ

Мне удалось решить проблему, заменив двоичные файлы Apache Lounge на файлы из Apache Haus.

Я просто заменил старую папку Apache24 новой, но сохранил старую папку conf. Никаких других изменений вносить не нужно.

0
ответ дан 23 May 2020 в 17:50

Теги

Похожие вопросы