【问题标题】:Why after PHP upgrade the program runs from command line but displays PHP code as it is when run in a browser?为什么 PHP 升级后程序从命令行运行,但在浏览器中运行时显示 PHP 代码?
【发布时间】:2016-07-06 01:48:31
【问题描述】:

我在我的机器上使用 64 位 Ubuntu Linux 14.04

以前我使用的是 PHP 5.5.32,一切正常。

我刚刚将 PHP 升级到最新的稳定版本,即 7.0.4,并使用我之前用来运行文件的 URL 运行文件。

http://localhost/hello.php

以下是hello.php文件的内容:

<?php 
error_reporting(-1);
ini_set('display_errors', 'On');
   echo 'Hello World!';
?>

在浏览器中点击 URL 后,PHP 代码将按原样打印。我不明白为什么。 而如果我从命令行界面(CLI)运行程序,即使用以下命令从终端运行程序

$ /var/www$ php hello.php

我收到了如下的预期输出:

Hello World!

在终端上。

这表明 PHP 程序是从终端运行的,而不是从浏览器运行的。它也没有告诉我发生了什么问题。它只是继续向我展示整个 PHP 文件。

请有人帮我从浏览器窗口运行 PHP 代码。

谢谢。

即使我以同样的方式尝试了下面的程序,结果也是一样的。

<?php

phpinfo();

?

【问题讨论】:

  • 你能检查一下响应的http代码吗?网络服务器日志中是否有任何错误?
  • 更新时是否更改了本地主机的端口?在 php.ini 中检查一次
  • 不应该;这个文件在 /var/www/html
  • @Satya: 不,以前我使用 PHP 5.5.32 时只从 /var/www 运行。
  • @Anant:如何检查它,因为我无法在浏览器中运行该文件。

标签: php apache debugging configuration error-reporting


【解决方案1】:

运行以下命令以安装 PHP 7 的 Apache 模块,这是在 Apache 中执行 PHP 脚本所必需的。

sudo apt-get install libapache2-mod-php7.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 2018-11-28
    • 2012-02-12
    • 1970-01-01
    相关资源
    最近更新 更多