【问题标题】:apache returns empty page instead of php fileapache返回空页面而不是php文件
【发布时间】:2011-07-07 16:38:54
【问题描述】:

我有一个小问题,我有一个这样开头的 php 文件:

<?php
ini_set("display_errors", true);
echo "test"; 
exit(); 

这会以某种方式返回一个空页面?!

我使用ubuntu 10.10gvimapache2

这可能与utf-8 格式有关吗?我刚刚切换到 ubuntu 和 gvim,所以我不确定我是否使用 utf-8,但我知道它会导致这个问题。

编辑:

当我将文件更改为

<?php
test

什么都没有显示,但是如果我将其更改为:

test
<?php

测试出现了?!

【问题讨论】:

  • 如果您右键单击页面并查看源代码,您会看到什么?如果您看到您的 php 代码,您需要安装 php/configure apache 以使用 php 处理 .php 文件
  • soure 是空白的,我所有的其他页面都可以工作(php 页面),我今天在 linux 中使用 gvim 修改了 php 文件。这一定是导致问题的原因..
  • 那么一页,有效的url,在服务器上失败了,其余的都可以吗?
  • 我们可以假设您已经关闭了 PHP 代码 (?>) 吗?尝试从命令行界面运行代码,这可能会显示未通过浏览器显示的错误。
  • 您可能有虚假字符,或看起来相似的 utf8 字符。尝试从头开始重新输入。

标签: php apache apache2


【解决方案1】:

尝试将脚本的开头替换为:

<?php
ini_set("display_errors", true);
error_reporting( E_ALL );
echo "test";

如果您仍然有空白输出,请创建一个新文件并将错误文件的内容一次复制粘贴到一个行/节/控制结构中,在传输每个节后执行脚本。您在获得空白输出之前传输的部分可能是您的杯子。

另外,请尝试查看您的错误日志 - 它们可能包含所遇到错误并导致空白输出的详细信息。 (事实上​​,我会先这样做。)

另外,参考您原始问题中包含的代码 sn-ps:

<?php
test

总是会失败,因为它的语法不正确。

<?php
echo 'test';

应该导致“测试”被打印到屏幕上。

【讨论】:

  • E_all 显然没有在 ubuntu 的 apache2 中默认设置,但在 windows 的 xampp 中默认设置。现在发现错误..
  • 这些行也帮助我使用 IIS。
【解决方案2】:

对于可能和我有同样问题的其他人:我的 PHP 脚本标签格式不正确! 不好:&lt;? php&gt; 而不是好的:&lt;?php&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-05
    • 2018-08-27
    • 2023-03-15
    • 2011-09-12
    • 2019-02-07
    • 2013-08-28
    • 2018-12-07
    • 2011-04-20
    相关资源
    最近更新 更多