部署后突然的语法错误



我有一个工作的符号项目。我将其放在一个私人位置的存储库上,在本地网站无问题。

今天,我尝试将项目部署到外部服务器 linuxpl.com

采取的步骤包括:

  • 解除作曲家
  • 添加MySQL数据库
  • 运行git clone将数据获取到适当的位置
  • 在文件夹上运行composer install以安装所有内容并连接到DB
  • 清除缓存
  • 将项目root设置为....domain/project_name/web

但是,完成所有这些步骤后,使用常规server:run运行网站时,我会遇到此奇怪的错误:

解析错误:语法错误,意外'。in/home/spirifer/domains/surowcewobiektywie.pl/konkurs/vendor/twig/twig/twig/lib/lib/twig/twig/extension/core.php on 1571

不确定这是否重要,但是我本地文件中提到的代码部分看起来像这样:

 // Some objects throw exceptions when they have __call, and the method we try
    // to call is not supported. If ignoreStrictCheck is true, we should return null.
    try {
        $ret = $object->$method(...$arguments);
    } catch (BadMethodCallException $e) {
        if ($call && ($ignoreStrictCheck || !$env->isStrictVariables())) {
            return;
        }
        throw $e;
    }

本地版本与服务器上的版本没有差异

我的本地计算机具有 php 7.0.9 ,删除服务器具有 php 7.0.14

我该如何解决此问题?

php 5.6添加了variadic函数,带有" ..."。但是,Twig V1.x仅需要使用PHP 5.2.7或更高。

如果您没有明确更新到Twig 2.0,则很有可能在作曲家文件中使用了"死亡之星"版本约束 - '*'。它允许不受控制的版本更新到最新版本。如果是这种情况,您将需要更新您的PHP版本,或者至少需要一个以前的twig/twig版本,"^1.32"将是Twig的版本1系列中的最新版本。

最新更新