【问题标题】:How to fix error Parse error: syntax error, unexpected '=' in Cell.php如何修复错误解析错误:语法错误,Cell.php中的意外'='
【发布时间】:2020-04-02 01:24:36
【问题描述】:

我已经部署了我的 laravel 源,其中集成了 maatwebsite 包,我的项目中有一些导出 excel。它在 xampp localhost 中运行良好,但是当我将它部署到虚拟服务器时,它总是返回错误:

message: "Parse error: syntax error, unexpected '='"
exception: "Symfony\Component\Debug\Exception\FatalThrowableError"
file: "/var/www/src/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php"
line: 517

我设置了 php7.1 和我的 require composer.json:

"require": {
        "php": ">=7.0.0",
        "ext-json": "*",
        "fideloper/proxy": "~3.3",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "laravelcollective/html": "^5.4.0",
        "maatwebsite/excel": "^3.1"
    }

谁能告诉我如何解决这个问题???

【问题讨论】:

  • Symmetric array destructuring 是 PHP 7.1 的一个特性。您的服务器可能正在运行 PHP 7.0
  • @Symmetric 数组解构:我使用了命令 php -i 然后它显示 php7.1.33
  • 您在服务器上运行php -i 吗?它可能安装了多个 PHP 实例,并且 CLI 使用的版本与 FPM / mod-php 不同。最简单的检查方法是添加带有<?php phpinfo();info.php 文件并在线检查
  • @Phil:我已经运行了那个命令,它告诉我 php7.1.33
  • 我尝试卸载 php 并重新安装,现在可以了:D

标签: php laravel-5 maatwebsite-excel


【解决方案1】:

不要在作曲​​家中使用=,你应该使用^~

完整的解释在Tilde Version Range (~)Caret Version Range (^)

~ 运算符最好用例子来解释:~1.2 等价于 >=1.2 =1.2.3

^ 运算符的行为非常相似,但它更接近语义版本控制,并且始终允许不间断更新。例如 ^1.2.3 等价于 >=1.2.3 =0.3.0

【讨论】:

  • 问题出在 Cell.php 而不是 composer.json
猜你喜欢
  • 1970-01-01
  • 2018-01-11
  • 2010-11-02
  • 2018-06-28
  • 2016-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
相关资源
最近更新 更多