Альтернативы apache_get_modules () для получения списка загруженных модулей apache

Я пытаюсь использовать php для получения списка загруженных модулей apache с помощью apache_get_modules() , но я получаю сообщение об ошибке, что эта функция не определена.

Из поиска кажется, что проблема в том, что

это работает только тогда, когда PHP установлен как модуль Apache. Это не будет работать при использовании PHP как CGI (например: suPHP)

Я не уверен, что это так, но я нахожусь на общем хостинге. Любые идеи, как узнать список загруженных модулей apache, желательно с php, но я открыт для предложений.

Solutions Collecting From Web of "Альтернативы apache_get_modules () для получения списка загруженных модулей apache"

  • phpinfo () сообщит вам, как устанавливается PHP, особенно строка API Сервера.
  • Вы можете проанализировать конфигурационные файлы для Apache, чтобы узнать, какие модули настроены.
  • Вы можете запустить что-то вроде apache2 -t -D DUMP_MODULES чтобы получить список модулей.

apache_get_modules () доступен только в том случае, если PHP установлен как модуль, а не как CGI. Именно по этой причине вы не можете использовать эту функцию и страдать от ошибки. Другая причина была вызвана директивой disable_functions в вашем php.ini. вы можете использовать следующий письменный PHP-код, чтобы проверить, включен ли модуль перезаписи в вашем случае при использовании API-сервера CGI

 <?php if (is_mod_rewrite_enabled()) { print "The apache module mod_rewrite is enabled.<br/>\n"; } else { print "The apache module mod_rewrite is NOT enabled.<br/>\n"; } /** * Verifies if the mod_rewrite module is enabled * * @return boolean True if the module is enabled. */ function is_mod_rewrite_enabled() { if ($_SERVER['HTTP_MOD_REWRITE'] == 'On') { return TRUE; } else { return FALSE; } } ?> 

Чтобы проверить, используете ли вы Php Under CGI или Apache, вы можете использовать процедуру ниже

Создайте файл check_phpinfo.php и напишите PHP-код, написанный ниже –

 <?php // Show all information, defaults to INFO_ALL phpinfo(); ?> 

Затем файл и перейдите к URL-адресу – http://www.example.com/check_phpinfo.php, и он покажет вам php-файл на сервере

В четырех строках вы можете увидеть « API-интерфейс сервера CGI / FastCGI », который означает, что вы используете PHP в CGI / Fast CGI

 <?php // Print Apache Modules print_r(apache_get_modules()); ?>