如何解决Symfony CLI 在运行“new”命令时没有使用正确的 PHP 版本
我的环境设置如下:Wamp 3 with PHP7.1.33 version,composer 2 and the Symfony binary.
但是当我尝试运行 symfony new my_project_name --version=4.4 --full
时,我收到此错误:
在“./my_project_name”创建一个“symfony/website-skeleton”项目 您的 PHP 版本 5.4.12 受 CVE-2013-6420 影响,无法安全执行证书验证,我们强烈建议您升级。 [无效参数异常] 在使用您的 PHP 版本可安装的版本中找不到版本为 4.4.* 的包 symfony/website-skeleton, PHP 扩展和 Composer 版本。
如错误中所述,使用的是 PHP 5.4.12,但当我运行 php --version
时,我得到 7.1.33 版本。
解决方法
我没有使用过 WAMP 或 Symfony 二进制文件,但在 documentation 上它说:
如果您的计算机上安装了多个 PHP 版本,您可以告诉 Symfony 使用哪个版本,在项目根目录创建一个名为 .php-version 的文件
如果您安装了多个 PHP 版本,如果您使用 symfony local:php:list
命令,该工具显然会尝试找到它们并列出它们。不知道它是如何工作的或它有多可靠,但应该告诉您它是否能够检测到您的 PHP 7 运行时。
更重要的是,尽管 Symfony 部分的建议很糟糕,但您实际上并不需要使用 symfony
二进制文件来创建项目。二进制只是简单地调用composer,那么为什么不直接调用composer呢?这样您就可以确保您使用的是您想要和期望的 PHP 和 Composer 版本,而不是依赖中介。
就去做:
composer create-project symfony/website-skeleton your-project-name ^4.4
(这是您通过使用 --full
标志获得的结果,如果您不使用它,您只需安装 symfony/skeleton
,它包含较少的开箱即用组件)。
顺便说一句,将二进制文件命名为 symfony
对 Symfony 来说是一个非常糟糕的选择,因为它几乎不可能搜索与工具相关的问题,而不是与框架相关的问题。或者建议使用binary而不是直接使用composer,为很多用户增加一层不透明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。