在 phpFiddle.org 上运行良好的代码在 Web 服务器上崩溃

Code that runs fine on phpFiddle.org crashes on web server

我有一个代码,它在 phpFiddle.org 上 运行 没问题,但是当我尝试在我的网络服务器上 运行 它时,由于某种原因它显示了一个内部网络错误.我想知道我做错了什么。谢谢

    $text = "cheese\'s bacon cats ";
    $replacement = ["cheese\'s" => "bacon", "bacon" => "apple", "cats" => "dogs"];
    $search = array_map(function($v){
        return preg_quote($v, "/");
    }, array_keys($replacement));

    echo $text = preg_replace_callback("/\b(" . implode("|", $search) . ")\b/", function($m)use($replacement){
        return $replacement[$m[1]];
    }, $text);

P.S: 我的网络服务器是 ipage.com

这是代码的编辑版本:

$text = "apple\'s bacon cats ";
    $replacement = array("apple\'s" => "bacon", "bacon" => "apple", "cats" => "dogs");
    $search = array_map(function($v){
        return preg_quote($v, "/");
    }, array_keys($replacement));

    echo $text = preg_replace_callback("/\b(" . implode("|", $search) . ")\b/", function($m)use($replacement){
        return $replacement[$m[1]];
    }, $text);

iPage PHP version is currently 5.3. The array notation you are using, [] is only supported as of PHP 5.4。将所有数组代码切换为 array() ,你应该没问题。使用 ipage 等托管服务时,务必检查本地开发环境和服务器版本之间的一致性。

除了samrap的笔记,你应该使用https://3v4l.org/而不是phpfiddle。 3v4l 功能更丰富,会向您显示您在几个不同的 php 版本中编写代码的结果,而不是假设您 运行 任何版本 pf php php fiddle 正在使用。此外,3v4l 还会向您展示性能统计等