当Echo不存在时,PHP服务器错误500


PHP Server Error 500 when Echo doesnt exist?

当我在某个位置添加echo时,我的php代码运行良好,但当我删除简单的echo "hello";行时,它不会加载php页面,只显示服务器错误500。

以下代码有效:

require 'steam.php';
    $steam = new steam();
    $api = "FC1D74A835829EB99A571235A499638A";
    $query = 'ari9';
    $communityID            =   $steam->getID($query, $api);
    $userInfo               =   $steam->getUserInfo($communityID, $api);
    echo "hello";
    $info = array(
        'communityID'   =>  $communityID,
        'steamID'       =>  $steam->$convertToSteamID($communityID),
        'personaname'   =>  $userInfo['personaname'],
        'profileurl'    =>  $userInfo['profileurl'],
        'lastlogoff'    =>  $userInfo['lastlogoff'],
    );
    foreach ($info as $key => $value) {
        if (strlen($value)===0) {
            $info[$key] = false;
        }
        echo $key." -> ".$value."<br>";
    }
    echo json_encode($info);

并且以下代码不起作用

require 'steam.php';
    $steam = new steam();
    $api = "FC1D74A835829EB99A571235A499638A";
    $query = 'ari9';
    $communityID            =   $steam->getID($query, $api);
    $userInfo               =   $steam->getUserInfo($communityID, $api);
    $info = array(
        'communityID'   =>  $communityID,
        'steamID'       =>  $steam->$convertToSteamID($communityID),
        'personaname'   =>  $userInfo['personaname'],
        'profileurl'    =>  $userInfo['profileurl'],
        'lastlogoff'    =>  $userInfo['lastlogoff'],
    );
    foreach ($info as $key => $value) {
        if (strlen($value)===0) {
            $info[$key] = false;
        }
        echo $key." -> ".$value."<br>";
    }
    echo json_encode($info);

并且以下代码不起作用

require 'steam.php';
    $steam = new steam();
    $api = "FC1D74A835829EB99A571235A499638A";
    $query = 'ari9';
    $communityID            =   $steam->getID($query, $api);
    $userInfo               =   $steam->getUserInfo($communityID, $api);
    $info = array(
        'communityID'   =>  $communityID,
        'steamID'       =>  $steam->$convertToSteamID($communityID),
        'personaname'   =>  $userInfo['personaname'],
        'profileurl'    =>  $userInfo['profileurl'],
        'lastlogoff'    =>  $userInfo['lastlogoff'],
    );
    foreach ($info as $key => $value) {
        if (strlen($value)===0) {
            $info[$key] = false;
        }
        echo $key." -> ".$value."<br>";
    }
    echo json_encode($info);
    echo "Hello";

第一段代码具有第9行上的回波,第二段代码与第一段代码相同,只是去除了第9行的回波。我对此感到困惑。

问题是,这个$steam->$convertToSteamID正在寻找一个具有该变量值的名称的函数。当没有回声时,你得到500的原因是因为当你发送的回声提供200。日志中应该有显示错误的事件。一个页面上不能有两个状态代码。

所以只需将您的函数调用更改为:

$steam->convertToSteamID

你应该没事的。