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.
Что я пробовал:
php -m
(как должны). httpd
. display_startup_errors = on
, а затем проверка журналов. В журналах ошибок Apache и PHP нет соответствующей информации. php.exe -v
, «Безопасность потоков» отображается как включенная в phpinfo ()
через Apache. Пожалуйста, помогите. Мне нужно, чтобы этот веб-сервер работал, и это сводит меня с ума.
Мне удалось решить проблему, заменив двоичные файлы Apache Lounge на файлы из Apache Haus.
Я просто заменил старую папку Apache24
новой, но сохранил старую папку conf
. Никаких других изменений вносить не нужно.