新的Laravel安装v 5.4 index.php引发解析错误。 PHP 7.2.10-0ubuntu0.18.04.1

时间:2018-11-26 19:16:46

标签: php laravel apache2

在Ubuntu的Digital Ocean上安装了新的Laravel。当前的PhP安装。我添加了几行代码以吐出错误,Apache2可以很好地访问Php。这是输出:

解析错误:语法错误,/var/www/html/blog/vendor/laravel/framework/src/Illuminate/Support/Arr.php在行388上出现意外的'='

    public static function pluck($array, $value, $key = null)
{
    $results = [];
    [$value, $key] = static::explodePluckParameters($value, $key);
    foreach ($array as $item) {
        $itemValue = data_get($item, $value);
        // If the key is "null", we will just append the value to the array and keep
        // looping. Otherwise we will key the array using the value of the key we
        // received from the developer. Then we'll return the final array form.
        if (is_null($key)) {
            $results[] = $itemValue;
        } else {
            $itemKey = data_get($item, $key);
            if (is_object($itemKey) && method_exists($itemKey, '__toString')) {
                $itemKey = (string) $itemKey;
            }
            $results[$itemKey] = $itemValue;
        }
    }
    return $results;
}

第888行是:

[$value, $key] = static::explodePluckParameters($value, $key);

当使用“ laravel new(站点名称)”创建新站点时,Laravel自动创建密钥。

服务器正在运行我的其他站点。我已经做了几个干净的Laravel安装,同样的问题。

2 个答案:

答案 0 :(得分:3)

之所以发生这种情况,是因为评估此脚本的PHP不是7.2版。该版本低于7.1。数组解构分配是在7.1-https://wiki.php.net/rfc/short_list_syntax

中引入的

您需要确定安装了哪些PHP版本,以及究竟是哪个版本在执行代码。

答案 1 :(得分:0)

希望这对某人有帮助。因此,您需要做的是转到/ etc / apache2 / mods-enabled ls-l,并查看加载了哪个php版本。 “ sudo a2dismod php7.0”禁用php7.0 mod并使用“ sudo a2enmod php7.2”。使用“ systemctl restart apache2”重新启动apache2,您应该会很好。