PHP在一个共享主机上输出语法错误,并在另一个主机上完美运行

PHP在一个共享主机上输出语法错误,并在另一个主机上完美运行,php,Php,我有一个问题让我很困惑 我有一个php脚本在两个不同的共享主机上运行 在第一种情况下,一切运行都完美无缺。在第二个例子中,它向我输出了一个语法错误,不起作用 以下是语法错误和出现问题的代码: Parse error: syntax error, unexpected '[' in /home/click/public_html/extension/include/config.php on line 13 代码: 我似乎找不到问题所在。有人能帮我吗?提前感谢这是因为您正在执行的操作从5.4版起

我有一个问题让我很困惑

我有一个php脚本在两个不同的共享主机上运行

在第一种情况下,一切运行都完美无缺。在第二个例子中,它向我输出了一个语法错误,不起作用

以下是语法错误和出现问题的代码:

Parse error: syntax error, unexpected '[' in /home/click/public_html/extension/include/config.php on line 13
代码:


我似乎找不到问题所在。有人能帮我吗?提前感谢

这是因为您正在执行的操作从5.4版起仅在PHP中可用。您在本地拥有它,但您的Web主机没有。这就是为什么您应该始终确保您的开发环境与您的生产环境相匹配。

这是因为您使用了一种称为数组解引用的方法,这基本上意味着您可以从函数直接返回的数组中访问值。这仅在php>=5.4中受支持

要解决您的问题,请执行以下操作:

function pem2der($pem_data) {
    $exploded = explode('-----', $pem_data);
    $retStr = base64_decode(trim($exploded[2]));
    return $retStr;
}

由于此方法
explode('----',$pem_data)[2]
在旧版本的PHPC上不受支持,请检查所有服务器上的php版本,然后比较它们之间的差异
function pem2der($pem_data) {
    $exploded = explode('-----', $pem_data);
    $retStr = base64_decode(trim($exploded[2]));
    return $retStr;
}