phpinfo()不起作用

时间:2013-07-22 00:12:07

标签: php centos phpinfo

我在CENTOS服务器上安装了PHP。但是,在我的脚本中运行phpinfo()来测试它时,我会收到HTML,而不是解释的信息。 我可以看到PHP的文件夹。我甚至可以在etc文件夹中看到php.ini。 但是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**

依旧......

在这个系统上,有3个网站托管。这与这个问题有关吗?

14 个答案:

答案 0 :(得分:16)

这也发生在我身上。该修复程序将其包装在html标记中。然后我将文件保存为 /var/www/html/info.php 并在浏览器中运行http://localhost/info.php。就是这样。

<html>
<body>

<?php
 phpinfo();
?>

</body>
</html>

答案 1 :(得分:9)

你保存了包含

的页面吗?
<?php
 phpinfo();
?>

扩展名为.php?有点像info.php而不是info.html ......

答案 2 :(得分:9)

你需要更新你的Apache配置,以确保它输出php作为文本/ HTML类型,下面的代码应该可以工作,但有些配置是不同的。

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

答案 3 :(得分:5)

这为我做了(第二个答案):why are my php files showing as plain text?

简单地添加它,没有其他工作。

apt-get install libapache2-mod-php5

答案 4 :(得分:3)

刚遇到同样的问题,发现客户端已经从他们的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;

更多信息:Enabling and disabling phpinfo() for security reasons

答案 5 :(得分:1)

尝试在root中创建一个php.ini文件并编写以下命令并保存。

disable_functions =

使用此代码将为您启用phpinfo()函数,如果它被全局php配置禁用。

答案 6 :(得分:1)

确保标签&#34; php&#34;坚持代码像这样

?php phpinfo(); ?&GT;

不喜欢这个

<强>? php phpinfo(); ?&GT;

或服务器将其视为(正常字) 因此,服务器无法理解您正在编写的语言,因此它将为空白

我知道这是一个愚蠢的错误......但它发生了^ _ ^

答案 7 :(得分:0)

我遇到了同样的问题。我的解决方案是在 php.ini 文件中设置 default_mimetype =“text / html”

答案 8 :(得分:0)

也发生在我身上。在新配置的REDHAT 7服务器中。

当我运行一个php页面,即info.php时,我可以看到纯文本php脚本而不是执行它们

刚刚安装了php

[root@localhost ~]# yum install php

然后重启apache

[root@localhost ~]# systemctl restart httpd

答案 9 :(得分:0)

如果您使用localhost / info.php,它可能不适合您。您可以从错误中找到线索。在错误消息中找到端口号。对我来说这是80.我将地址更改为http://localhost:80/info.php,然后它对我有用。

答案 10 :(得分:0)

我的解决方案是卸载并重新安装php(以我的情况为7.0):

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

您将需要重新启动apache服务之后:

sudo service apache2 restart

最后,在浏览器中再次使用本地主机或IP地址进行验证。

答案 11 :(得分:0)

win10的另一个可能答案:

命令httpd -k restart在计算机上无法正常运行。

尝试使用win10 服务重新启动相关服务。< / p>

答案 12 :(得分:0)

对于那些没有建设网站经验的人(例如我),我做了很多尝试,结果发现我没有使用.php扩展名,而是使用.html扩展名。

答案 13 :(得分:0)

我不小心设置了错误的文件权限。 chmod 644 phpinfo.php之后,该信息确实如预期的那样显示。