我最近将 Forge 托管的项目迁移到 Laravel 8.x。部署脚本运行时失败composer install,所有消息均与 PHP 版本错误相关:
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php ^7.4 but your PHP version (7.3.26) does not satisfy that requirement.
Problem 2
- Installation request for lcobucci/clock 2.0.0 -> satisfiable by lcobucci/clock[2.0.0].
- lcobucci/clock 2.0.0 requires php ^7.4 || ^8.0 -> your PHP version (7.3.26) does not satisfy that requirement.
...
Run Code Online (Sandbox Code Playgroud)
至少根据文档。在本站点的元 > PHP 版本中选择 PHP 7.4。PHP管理中默认7.4,已更新至最新补丁。

我重新启动了 PHP,然后重新启动了 Nginx,然后重新启动了整个服务器,但都不起作用。
通过 SSH,它使用 7.3.26:
forge@mistaken-identity:~$ php -v
PHP 7.3.26-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 13 2021 08:00:44) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.26, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.26-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
Forge 的 PHP 管理 API 是否损坏,或者只是在我的服务器上?我希望能够为每个站点设置 PHP 版本。我怎样才能解决这个问题?
Eri*_*ich 10
找到了。
Forge 在 PHP 版本管理仪表板上有一个“在 CLI 上使用”按钮,这显然是 Composer 在决定是否安装/升级依赖项时所查看的。我的仍然设置为 7.3 二进制文件。
宣布该功能的博客文章中也简要提到了这一点:
此外,您还可以确定哪个 PHP 版本是 CLI 上的“默认”版本。默认 CLI PHP 版本是在命令行上运行“php”命令时将执行的 PHP 版本。
| 归档时间: |
|
| 查看次数: |
3489 次 |
| 最近记录: |