phpinfo() не работает на моем сервере CentOS

У меня установлен PHP на моем сервере CentOS. Однако при запуске phpinfo() внутри моего скрипта для его проверки я получаю HTML, а не интерпретированную информацию.

Я вижу папки для PHP. Я даже вижу php.ini в папке etc Но сам PHP, похоже, не работает.

Я имею в виду мой файл test.php выглядит так:

<?php
    phpinfo();
?>

И ответ выглядит так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html><head>
<style type="text/css">
body {background-color: #ffffff; color: #000000;}
body, td, th, h1, h2 {font-family: sans-serif;}
pre {margin: 0px; font-family: monospace;}
a:link {color: #000099; text-decoration: none; background-color: #ffffff;}
...

и так далее.

В чем проблема и как мне ее решить?

Если я скопирую возвращенный HTML-код, вставлю его в файл HTML и запустите его оттуда, я смогу увидеть отформатированный результат, но не запустив test.php. Я предполагаю, что PHP не загружен как-то... даже если в интерпретированном HTML я вижу:

**Server API    Apache 2.0 Handler
Virtual Directory Support    disabled
Configuration File (php.ini) Path    /etc/php.ini
Scan this dir for additional .ini files    /etc/php.d
additional .ini files parsed    /etc/php.d/dbase.ini, /etc/php.d/json.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_sqlite.ini
PHP API    20041225
PHP Extension    20050922
Zend Extension    220051025
Debug Build    no
Thread Safety    disabled
Zend Memory Manager    enabled
IPv6 Support    enabled
Registered PHP Streams    php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps**

и так далее...

В этой системе размещены три веб-сайта. Это как-то связано с этой проблемой?

Ответ 1

Это случилось и со мной. Исправление заключалось в обертывании его в теги HTML. Затем я сохранил файл как /var/www/html/info.php и запустил http://localhost/info.php в браузере. Это.

<html>
    <body>
        <?php
            phpinfo();
        ?>
    </body>
</html>

Ответ 2

Сохранить страницу, которая содержит

<?php
    phpinfo();
?>

с расширением .php. Что-то вроде info.php, а не info.html...

Ответ 3

Вам необходимо обновить конфигурацию Apache, чтобы убедиться, что он выводит php виде типа text/HTML.

Приведенный ниже код должен работать, но некоторые конфигурации отличаются.

AddHandler php5-script .php
AddType text/html .php

Ответ 5

У меня была та же проблема, и я обнаружил, что клиент отключил эту функцию в своем файле php.ini:

; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_functions = phpinfo;

Дополнительная информация: включение и отключение phpinfo() по соображениям безопасности

Ответ 6

Попробуйте создать файл php.ini в корневом каталоге, php.ini следующую команду и сохраните его.

disable_functions =

Использование этого кода активирует функцию phpinfo(), если она отключена глобальной конфигурацией PHP.

Ответ 7

Убедитесь, что тег "php" вставлен в код следующим образом:

? php phpinfo(); ?>

Не так:

? php phpinfo(); ?>

ИЛИ сервер будет рассматривать его как (обычное слово), поэтому сервер не поймет язык, который вы пишете, чтобы иметь с ним дело, поэтому он будет пустым.

Я знаю, это глупая ошибка... но это случилось ^ _ ^

Ответ 8

Для людей, у которых нет опыта в создании сайтов (таких как я), я очень старался, только чтобы узнать, что я использовал не расширение .php, а расширение .html.

Ответ 9

У меня такая же проблема.

Решением в моем случае было установить default_mimetype = "text/html" внутри файла php.ini.

Ответ 10

Это случилось и со мной. На недавно подготовленном сервере Red Hat Linux 7.

Когда я запускаю страницу PHP, то есть info.php, я мог видеть простые текстовые сценарии PHP вместо того, чтобы выполнять их.

Я только что установил PHP:

[[email protected] ~]# yum install php

А затем перезапустил Apache HTTP Server:

[[email protected] ~]# systemctl restart httpd

Ответ 11

Это может не сработать, если вы используете localhost/info.php.

Вы можете найти ключ к ошибке. Найдите номер порта в сообщении об ошибке. Для меня это было 80. Я изменил адрес как http://localhost: 80/info.php, и тогда это сработало для меня.

Ответ 12

Мое решение было удалить и установить экземпляр PHP (7.0 в моем случае) снова:

sudo apt-get purge php7.0
sudo apt-get install php7.0

После этого вам нужно будет перезапустить службу Apache:

sudo service apache2 restart

Наконец, проверьте еще раз в вашем браузере с вашим локальным или IP-адресом.

Ответ 13

Еще один возможный ответ для Windows 10:

Команда httpd -k restart не работает на моей машине.

Попробуйте использовать службу Windows 10 для перезапуска соответствующей службы.

Ответ 14

Я случайно установил неправильные права доступа к файлу. После chmod 644 phpinfo.php информация действительно появилась, как и ожидалось.