aka*_*ona 36 php windows wamp symfony4
当我尝试 Composer 安装我的项目时,我遇到了来自 symfony 供应商的一些语法错误。
Parse error: syntax error, unexpected '|', expecting variable (T_VARIABLE) vendor\psr\log\src\LoggerInterface.php on line 30
Run Code Online (Sandbox Code Playgroud)
经过多次搜索,我发现问题出在 PHP 版本(必须 > 7.1),但实际上我的版本是 7.4.9,这是本地计算机,我在 Windows 上使用 WAMP。Symfony 4.4 版本。已尝试删除供应商,.lock...
这是我的composer.json
{
"type": "project",
"license": "proprietary",
"require": {
"php": ">=7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"doctrine/annotations": "^1.13",
"mongodb/mongodb": "^1.10@dev",
"ramsey/uuid": "^4.2",
"symfony/console": "4.4.*",
"symfony/dotenv": "4.4.*",
"symfony/flex": "^1.3.1",
"symfony/form": "4.4.*",
"symfony/framework-bundle": "4.4.*",
"symfony/messenger": "4.4.*",
"symfony/yaml": "4.4.*"
},
"require-dev": {
},
"minimum-stability": "dev",
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true,
"platform": {
"php": "7.4.9"
}
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "4.4.*"
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
小智 24
我将其添加到composer.json 中并且它起作用了。
"config": {
"platform": {
"php": "7.4.21"
}
}
Run Code Online (Sandbox Code Playgroud)
运行。composer update
这将 psr/log 从 2.0 降级到较低版本并解决了我的问题。
vis*_*ote 19
我得到了解决方案。
使用以下命令卸载作曲家
sudo apt remove composer
sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)
使用以下命令切换到您正在寻找的兼容 php(如果您的系统上运行多个 php 版本)
sudo update-alternatives --config php
Run Code Online (Sandbox Code Playgroud)
然后使用下面链接中给出的旧方法安装作曲家
https://getcomposer.org/download/
小智 10
这个字符“|” 仅在php版本>=8.0时使用可以更新php版本
这对我有用:)
参考文献:https ://www.php.net/releases/8.0/en.php#union-types
| 归档时间: |
|
| 查看次数: |
133690 次 |
| 最近记录: |