令人难以置信的PHP脚本不会回显字符串

时间:2009-07-23 12:37:48

标签: php

我有一个test.php脚本,其中包含:

<?php echo 'test'; ?>

当我通过浏览器指向它时,它可以工作并按预期打印出“测试”。

我有另一个脚本,我试图测试,但是,它忽略了我所有的回声!我认为我会在顶部放置一个回声,因为这肯定会起作用,但当我通过表单中的POST请求到达此脚本时。它甚至没有回应出最重要的东西:

<?php echo 'START START START';

error_reporting(E_ALL);

我甚至从浏览器中指出仍然没有输出?

到底是怎么回事?

更新

错误日志显示:

PHP Parse错误:语法错误,/var/www/tester/convertor.php中的意外T_ECHO

但回声是最重要的。我要设置diaplay错误。

6 个答案:

答案 0 :(得分:4)

要尝试的事情:

  • 检查错误日志
  • 检查标题(是否会回来404?)
  • 确保您查看来源:不要只看浏览器
  • 删除除回声之外的所有内容。如果它有效,可以一次添加一些东西,直到它破裂。
  • 在十六进制编辑器中加载脚本,并确保其中没有任何奇怪的字符
  • 您是否从其他文件中包含此文件?如果是这样,请检查其他文件。注意输出缓冲。

答案 1 :(得分:4)

您有一个解析错误,因此甚至没有执行脚本。所以预计它不会输出任何东西。

解析错误可以是脚本中的任何回显。例如,可能是因为一行缺少分号后的“echo”语句。

答案 2 :(得分:2)

退出;在echo start start开始后看看是否有效。查看apache错误日志中的线索。注释掉文件中的其余PHP代码,然后查看它是否有效......

更新

我有时会在浏览器中复制粘贴空格时 - 例如从网页复制/粘贴一些代码。有时奇怪的控制字符会隐藏在空白区域中,我发现删除空格并重新输入它会修复它。您是否已将任何内容粘贴到此文件中?

答案 3 :(得分:0)

您是否在安装了PHP的服务器上托管此页面?

如果您的硬盘驱动器上只有一个.php文件并在Web浏览器中打开它,它将无法运行。您需要运行带有PHP扩展的Web服务器,并使用HTTP或HTTPS协议访问该文件。

答案 4 :(得分:0)

在类似的说明中我看到很多脚本在Windows上的开发人员(我在Linux上)时会抛出这样的错误。

我必须先去php文件的开头,然后点击删除几次,以便在脚本运行之前删除一些不可见的字符。

答案 5 :(得分:-5)

你错过了结局吗?&gt;

<?php 
   echo 'START START START';
   error_reporting(E_ALL);
?>