phpinfo() 不输出任何内容

问题描述 投票:0回答:6

我尝试过 phpinfo() 但它没有输出任何内容。有趣的是,当在 web 中使用 phpinfo() 时,

php-r "phpinfo();"
可以正常工作,但不会输出任何内容。 同样,error.log 中也没有写入任何内容。
php.ini
是空的。

我现在不知道该怎么办。

编辑:

感谢lanzz,我知道 phpinfo() 之前不需要输出。

apache php
6个回答
5
投票

我也有类似的问题。我在 Ubuntu 机器上运行 Apache2,以便在部署之前对项目进行本地测试。我创建了一个 phpinfo();页面,发现它是空白的。在我的浏览器中检查后,php 函数将被注释掉。

您的浏览器与 php 无关。

为了执行 PHP 脚本,您必须将文件保存为 .php 文件,我确信您已经这样做了。

单独的 PHP 标签在 HTML 文档中无效,因此您需要创建一个实际的 HTML 文档,并将其另存为 .php。然后,包含一个基本的 HTML 文档,如下所示:

<?php
   phpinfo();
?>

<html>
  <head>
    <title>Php Info</title>
  </head>
    <body>
    </body>
</html>

然后你会这样做: localhost/phpinfo.php 或您正在处理的任何内容。就我而言,它是映射到我的本地主机的实际域名,因此“myProjectName”.com/phpinfo.php

这只是我的经验,100%有效。


5
投票

只是想补充一点,我使用的是短标签

'<?'

<? phpinfo();

这是失败的,因为我在禁用短标签时使用了短标签,所以它应该是

<?php phpinfo();

3
投票

首先,检查你的“access.log”的内容;如果您没有看到对 phpinfo 文件的调用,那么您的 Web 服务器肯定有问题。

否则,尝试获取一个简单的 php 文件:

<?php echo "Hello, world.";

或 HTML 文件:

<h1>Hello, world !</h1>

然后就可以确定问题出在哪里了。

可能未加载 Web 服务器的 PHP 模块。


1
投票

php 文件没有输出的另一种情况是权限设置不正确。例如,您的网络服务器无权读取它。


0
投票

我必须使用解决方法才能使其发挥作用。我使用的代码是:我无法回答为什么它只能这样工作,但它确实如此。

<?php
  echo phpinfo();
?>

0
投票

在我的例子中(Ubuntu 22.04),apache 没有正确配置来运行 php。 Apache 的

mpm_prefork
模块与 php 模块冲突。我按照此answer中的说明解决了问题。为了方便起见,此处重新发布了说明。

  1. sudo a2dismod mpm_event
  2. sudo systemctl restart apache2
  3. sudo a2enmod mpm_prefork
  4. sudo systemctl restart apache2
  5. sudo a2enmod php7.0
  6. sudo systemctl restart apache2
© www.soinside.com 2019 - 2024. All rights reserved.