【问题标题】:php file not outputting resultsphp文件不输出结果
【发布时间】:2009-12-20 19:38:09
【问题描述】:

我已经开发了一个脚本,但是每当我打开管理面板时它只显示一个空白页面,但是相同的脚本在我的另一台服务器上运行良好。我尝试更改文件和文件夹 644、755、775 和 777 的 chmod,但它仍然输出空白页。

主脚本工作正常,但它唯一的管理面板不起作用。我检查了两台服务器上的 .htaccess 也相同。

知道有什么问题吗?

谢谢。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    检查您的 HTTP 服务器(例如 Apache)的错误日志。在 99% 的空白页面情况下,PHP 都会遇到致命错误并在生成任何输出之前退出。

    如果此脚本可以在另一台服务器上运行,我会检查该脚本是否可以在includerequire 中找到它需要的所有内容。将脚本从一个环境移动到另一个环境时,找不到文件是常见的致命错误。例如,如果您在未正确配置 include_path 的情况下将文件部署到新服务器。


    关于您收到的通知的评论:

    注意:未定义索引:在 /var/www/admin/index.php 第 8 行提交

    第 8 行的函数是 if($_POST['submit'] == 'Login')

    这意味着您的 $_POST 数组不包含字段 'submit'。在 PHP 中引用不存在的数组索引是 E_NOTICE。您可以通过以下方式解决此问题:

    if (array_key_exists('submit', $_POST) && $_POST['submit'] == 'Login')
    

    【讨论】:

    • 检查所有文件是否存在
    【解决方案2】:

    把它放在管理页面的顶部

    ini_set('display_errors',1);
    error_reporting(E_ALL);
    

    服务器可能安装了不同的东西,导致您可以看到错误。

    【讨论】:

    • 对不起,我犯了一些愚蠢的错误,我再次尝试添加这些行并将其作为我的第一个错误Notice: Undefined index: submit in /var/www/admin/index.php on line 8
    • 第8行的函数是if($_POST['submit'] == 'Login')
    【解决方案3】:

    这听起来可能很愚蠢,但是正如您所说的那样,它“输出空白页”,您确定根本没有输出吗?您是否检查了页面来源,以防万一?请记住,如果您的页面以错误的 HTML 标记或类似内容开头,则会有输出,但这并不意味着实际上在浏览器中呈现了任何内容。

    还要确保没有打开输出缓冲...我不记得这是否会在尝试调试时导致问题,但谁知道呢?

    【讨论】:

    • theres no output <html><head/><body/></html> 但是当我在 Galen 的评论中提到的错误第 8 行之前回显时,我得到回显输出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2014-11-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    相关资源
    最近更新 更多