【问题标题】:PHP parse error on first hit, then segmentation fault [closed]PHP在第一次命中时解析错误,然后是分段错误[关闭]
【发布时间】:2012-08-29 19:39:00
【问题描述】:

出于演示目的,我正在尝试使旧网站栩栩如生。我遇到了一个 PHP 解析错误,我找不到它的含义!

这是我第一次点击页面时遇到的错误(apache 日志):

[error] [client 127.0.0.1] PHP Parse error:
parse error, expecting `T_STRING' or `'('' in .../functions.php on line 4

(该行返回仅是为了便于阅读)我最终得到一个 500 错误。

这是我第二次点击页面时得到的唯一一行:

[notice] child pid 3734 exit signal Segmentation fault (11)

这次我得到了 324:ERR_EMPTY_RESPONSE

这是functions.php文件中的代码,不要看很老的代码;)。

<?php

// GoTo
function GoTo($page)
{
    global $FullPath;
    @header('Location:'.$FullPath.$page);
    echo "<script language='Javascript'>
                window.location='$page';
                </script>";
}

你看到我遗漏的解析错误了吗??

为什么我第二次遇到段错误?

【问题讨论】:

    标签: apache segmentation-fault php


    【解决方案1】:

    您使用的 PHP 版本比网站刚成立时更新的版本,而且自 PHP 5.3 以来,goto (遗憾地)一直是关键字。重命名你的函数(:

    【讨论】:

    • 哦,不错!这太愚蠢了:p
    【解决方案2】:

    不要使用goto 作为函数名。

    goto 操作符可以用来跳转到程序中的另一个部分

    更改函数名称。

    另外请记住,您需要在 header('Location: xxx'); 之后退出脚本,并确保在该标头之前没有任何输出。

    【讨论】:

    • header 调用后无需退出脚本。
    • @Lusitanian 是的 @Lusitanian 是的 stackoverflow.com/questions/5833790/… 无论如何,正如我所说,我建立网站是为了演示,所以不在线。
    • 嗯,不是真的;除非您喜欢不可测试的代码和 cthulu,否则您永远不必使用 exitdie 终止脚本。
    猜你喜欢
    • 2011-01-13
    • 2013-04-27
    • 2014-12-03
    • 1970-01-01
    • 2011-10-01
    • 2010-11-18
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多