【问题标题】:codes within php tags doesn't get executedphp标签中的代码不会被执行
【发布时间】:2016-09-19 20:24:37
【问题描述】:

我将系统从 Ubuntu 15.10 升级到 Ubuntu 16.04,现在即使我再次安装 Apache2 和 Php,代码也不会在 php 标签中执行。 我只看到这里显示的表格,没有看到ls -ltr 的输出

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>


<?php

$output = shell_exec('ls -ltr');
var_dump($output);
echo "<pre>$output</pre>";
?>


</body>
</html>

 php -v
PHP 7.0.8-0ubuntu0.16.04.2 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.8-0ubuntu0.16.04.2, Copyright (c) 1999-2016, by Zend Technologies

我该如何解决这个问题?

【问题讨论】:

  • 插入 &lt;?php echo "aaaaaaaaa"; ?&gt; 作为代码的第一行。是否正在显示文本?
  • 做过任何基本的调试,比如页面的view source?如果您在浏览器中看到您的 PHP 代码,则说明 PHP 没有运行或配置错误。
  • 创建一个新的 PHP 文件并将&lt;?php phpinfo(); ?&gt; 放入其中。当你查看它时会发生什么?猜你得到一个空白页。如果是这样.. sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql yo 安装了 CLI,但这不是 Apache 使用的 PHP 解释器
  • @JoseManuelAbarcaRodríguez 不,它不显示!
  • @MonaJalal 重新安装 mod_php。

标签: php apache ubuntu shell-exec


【解决方案1】:

看起来您安装了 PHP-CLI,但这不是 Apache 使用的 PHP 解释器,或者 Apache 未配置为使用正确的解释器。此命令应该可以解决任何一种情况。

 `sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql`

【讨论】:

  • 这对我不起作用。我仍然看不到 php 标签中的任何内容。我也已经安装了这个
  • 请务必在任何更改后重新启动 Apache...sudo systemctl restart apache2
  • 我之前确实重启过但是没变!
  • 另外我使用sudo apt-get install --reinstall php libapache2-mod-php php-mcrypt php-mysql 重新安装了它,然后重新启动了apache sudo systemctl restart apache2,但仍然看不到php标签之间执行的任何内容
【解决方案2】:

切换到谷歌浏览器现在可以正常工作了!在升级到 Ubuntu 16.04 之前,它也在 Firefox 中运行。

【讨论】:

  • 这违反逻辑。您使用的浏览器 应该 对您的服务器是否解析 PHP 没有任何影响:/
猜你喜欢
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
  • 2011-11-06
  • 2011-07-19
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多