我去使用更新作曲家
composer update
Run Code Online (Sandbox Code Playgroud)
更新后出现以下错误:
Inflector.php第265行中的FatalErrorException:语法错误,意外':',期待';' 要么 '{'
请协助
提前致谢
使用Laravel Framework 5.2.45版
这是作曲家代码
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"laravelcollective/html": "*.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"symfony/css-selector": "2.8.*|3.0.*",
"symfony/dom-crawler": "2.8.*|3.0.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Libraries/Functions.php"
]
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅inflector.php发生错误的功能
public static function tableize(string $word) : string
{
return strtolower(preg_replace('~(?<=\\w)([A-Z])~', '_$1', $word));
}
Run Code Online (Sandbox Code Playgroud)
小智 51
这是PHP版本问题,PHP 7.0和doctrine/inflector的更新将正常工作,因为doctrine/inflector 1.20及更高版本需要PHP 7.
但是,如果您希望保留当前的PHP版本,可以通过运行以下命令来降级doctrine/inflector版本:
删除composer.lock文件
rm -f Composer.lock
删除供应商
rm -R -f vendor
composer install
根据您的php版本安装doctrine/inflector
composer require doctrine/inflector:1.1.0
doctrine/inflector:1.1.0支持PHP 5.6及以上版本.如果你有另一个版本的php,你可以参考这个链接
当您搜索此文件名然后开始比较软件包版本时,这真的很明显。
您需要laravelcollective/html任何版本,因此,就目前而言,最新版本是5.5.x. 这个包反过来需要"doctrine/inflector": "~1.1",,所以下面的任何版本2.0,目前1.3.0 需要 PHP 7.0 或更高版本。
如果查看最新的源代码inflector.php,您会看到第 265 行设置了返回类型,仅 PHP 7.0 及更高版本支持。
您使用的是 PHP 5.6.24,因此此代码无法在您的系统上运行。
修复错误的简单方法是使用laravelcollective/html与您的 Laravel 版本相对应的版本。这应该是5.2.*。
我正在尝试:
我的表名称是这样的:“ test_meetings”
我解决了在testMeeting.php模型表名中指定的错误:
protected $table = 'test_meetings';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25821 次 |
| 最近记录: |