如何强制为特定 PHP 版本创建新的 Symfony 应用程序?
How to force creating a new Symfony application for a specific PHP version?
我想生成一个 Symfony 应用程序,它可以与 PHP 7.4.22 版本兼容。
在我的本地机器上,PHP 版本是 8.0.2,但在主机上是 7.4.22。
Symfony 应用程序是使用标准 composer 命令从本地计算机生成的
composer create-project symfony/website-skeleton my_project_name
我查看了 create-project
个参数,看看是否可以添加一些约束,但 none 似乎很有用。(或没有弄清楚)
如果尝试上传以托管项目,我会在尝试安装它时收到此消息:
Your Composer dependencies require a PHP version ">= 8.0.0". You are running 7.4.22.
只需要一个默认的空项目来检查托管上的内容。
我不想改变本地 PHP 并且在主机上做同样的事情可能会很麻烦。
您不能向 create-project
添加“依赖约束”。
例如有点像虚构的create-project symfony/skeleton --dep php: "^7"
.
您可以做的是:
- 第一
create-project
- 将
config.platform
键添加到您的 composer.json
调整为您的服务器版本 (Docs.)
- 运行
composer update
如果需要,一些软件包将被降级,或者您会收到一条消息,告诉您新的目标版本不兼容。
例如在执行 create-project symfony/skeleton
并将 config.platform.php
更改为 7.2
后,执行 composer update
我得到:
Your requirements could not be resolved to an installable set of packages.
运行 composer create-project symfony/website-skeleton my_project_name
在使用 PHP 8 的示例项目中,在 v2 中安装 psr/cache
,在 v1.1.1 中安装 psr/link
。这些软件包版本需要 PHP 8,它们将无法使用任何旧版本的 PHP。
为避免这种情况,请不要 运行 composer create-project
使用比您要在生产系统上使用的版本更高的版本(通常,运行将其与低于生产版本的 PHP 版本会产生一组与生产系统兼容的软件包,反之则机会较低。
否则,在部署和降级之前使用composer why-not php 7.4
检查是否有这样的包版本
我想生成一个 Symfony 应用程序,它可以与 PHP 7.4.22 版本兼容。
在我的本地机器上,PHP 版本是 8.0.2,但在主机上是 7.4.22。
Symfony 应用程序是使用标准 composer 命令从本地计算机生成的
composer create-project symfony/website-skeleton my_project_name
我查看了 create-project
个参数,看看是否可以添加一些约束,但 none 似乎很有用。(或没有弄清楚)
如果尝试上传以托管项目,我会在尝试安装它时收到此消息:
Your Composer dependencies require a PHP version ">= 8.0.0". You are running 7.4.22.
只需要一个默认的空项目来检查托管上的内容。
我不想改变本地 PHP 并且在主机上做同样的事情可能会很麻烦。
您不能向 create-project
添加“依赖约束”。
例如有点像虚构的create-project symfony/skeleton --dep php: "^7"
.
您可以做的是:
- 第一
create-project
- 将
config.platform
键添加到您的composer.json
调整为您的服务器版本 (Docs.) - 运行
composer update
如果需要,一些软件包将被降级,或者您会收到一条消息,告诉您新的目标版本不兼容。
例如在执行 create-project symfony/skeleton
并将 config.platform.php
更改为 7.2
后,执行 composer update
我得到:
Your requirements could not be resolved to an installable set of packages.
运行 composer create-project symfony/website-skeleton my_project_name
在使用 PHP 8 的示例项目中,在 v2 中安装 psr/cache
,在 v1.1.1 中安装 psr/link
。这些软件包版本需要 PHP 8,它们将无法使用任何旧版本的 PHP。
为避免这种情况,请不要 运行 composer create-project
使用比您要在生产系统上使用的版本更高的版本(通常,运行将其与低于生产版本的 PHP 版本会产生一组与生产系统兼容的软件包,反之则机会较低。
否则,在部署和降级之前使用composer why-not php 7.4
检查是否有这样的包版本