php - 语法错误,Laravel 更新后出现意外的 ')'
问题描述
我已将我的 laravel 项目"laravel/framework": "^8.12"
从 laravel 5.7 更新,但在我运行更新后composer dump-autoload
它返回此错误
Generating optimized autoload files> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In TestDatabases.php line 148:
syntax error, unexpected ')'
这是我的composer.json
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.3|^8.0",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.0.1",
"intervention/image": "^2.5",
"laravel/framework": "^8.12",
"laravel/sanctum": "^2.8",
"laravel/tinker": "^2.5",
"laravel/ui": "^2.0",
"barryvdh/laravel-dompdf": "^0.8.3",
"nao-pon/flysystem-google-drive": "~1.1",
"spatie/laravel-backup": "^6.14"
},
"require-dev": {
"facade/ignition": "^2.5",
"fakerphp/faker": "^1.9.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.2",
"nunomaduro/collision": "^5.0",
"phpunit/phpunit": "^9.3.3"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
},
"files": [
"app/Helpers/helpers.php",
"app/Helpers/agent_helper.php",
"app/Helpers/user-helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
如何解决这个错误?
解决方案
您需要将 PHP 安装升级到至少 7.3 版才能解决此问题。
PHP 7.2自 2020 年 11 月 30 日起EOL(生命周期结束)!
正如评论中已经指出的:
Laravel 8 需要 php 7.3 或更高版本
Larvel 8 在中具有以下 PHP 版本约束composer.json
:
"require": {
"php": "^7.3|^8.0"
}
除非您有(非常罕见的)正当理由,否则不要使用该标志运行。composer
--ignore-platform-reqs
推荐阅读
- android - 我们可以在我们的基础应用程序代码中访问按需动态模块的类/功能吗?
- vue.js - 如何在 VueJS 中为 Chromium 扩展定制和自动化构建应用程序
- python - 如何在`os.path.join`中保存`to csv`并服务到另一条路线以在flask python中下载回来
- flutter - 在 Flutter/Dart 中:在 AppBar 中显示两行文本?
- drake - 在 Drake 中对力/扭矩传感器建模的问题
- reactjs - 具有更具体的 HTMLElement ref 的 Typescript/React ForwardRefExoticComponent 分配失败
- python - Python:将 tiff 转换为 numpy 数组仅给出 0 和 255 的值
- android - TalkBack 开启时 SeekBar 和 Slider 的步骤错误
- google-cloud-dataflow - IO绑定数据流流作业的自动缩放
- java - 我想使用java将dxf文件转换为shp文件