windows环境执行composer install出错

server/2025/3/6 20:53:48/

现在的项目环境都是要求比较新的版本,就比如今天部署测试一个新框架遇到了下面这些问题,报错原因有以下几点:

  • PHP版本低了,现在的新项目都是要求PHP8以上版本;
  • 指令废弃,配置文件禁用即可;
  • 切换PHP8版本后,扩展没有安装。

1、因为在windows电脑上测试部署新项目需要PHP8.0以上版本,在执行composer -install 时遇到以下错误:
请添加图片描述

 Problem 1- Root composer.json requires php >=8.0 but your php version (7.3.4) does not satisfy that requirement.Problem 2- topthink/framework[v8.0.0, ..., v8.1.2] require php >=8.0.0 -> your php version (7.3.4) does not satisfy that requirement.- Root composer.json requires topthink/framework ^8.0 -> satisfiable by topthink/framework[v8.0.0, ..., v8.1.2].

根据提示可以看出php版本低了,要求php8.0以上版本,所以接下来切换php版本,再去执行composer 命令。

2、windows电脑上原来的php版本是7.3.4,所以需要设置全局默认的php版本,这就需要去修改系统环境变量。
请添加图片描述
请添加图片描述
我使用的是PHPstudy,先在PHPstudy中安装php8.0以上版本,然后根据上图中路径找到安装目录,编辑系统环境变量中的php路径。
请添加图片描述请添加图片描述

3、重新打开 Git Bash ,执行php -v 发现还是报错,这是因为在 PHP 7.0 版本之后,track_errors 指令已经被废弃并且在 PHP 7.2 版本中被完全移除。

请添加图片描述
解决方法:修改 php.ini 文件,把配置参数 track_errors 改为Off

track_errors=Off

请添加图片描述
请添加图片描述
修改后,再执行 php -v,就能看到默认版本已经切换成功,继续执行 composer install
请添加图片描述
4、结果又报错了,提示当前 PHP 环境没有启用 OpenSSL 扩展,而 Composer 需要这个扩展来处理 HTTPS 请求,例如从远程仓库下载包。

php"> [Composer\Exception\NoSslException]                                           The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.

请添加图片描述

开启openssl,这里我单独配置openssl的时候不生效,还报一个提示错误,后来发现是扩展目录extension_dir 不对。
请添加图片描述
重新配置成当前版本扩展目录:

php">extension_dir = "E:/phpstudy_pro/Extensions/php/php8.2.9nts/ext/"

5、执行 composer install,报错,继续套娃,从这里可以明显看出是因为项目所需扩展没有开启。
请添加图片描述

打开PHPstudy,选择网站,新建一个网站,PHP版本选择8.2.9,与上面对应,创建成功后开启常用的扩展,在网站这里开启php扩展,会对此网站对应的PHP版本,其他使用此版本的项目都生效。
请添加图片描述
我这里就简单启用了这几个扩展,根据自己的需求启用:

php_curl
php_fileinfo
php_openssl
php_gd
php_intl
php_zip
php_sokets
php_ftp

http://www.ppmy.cn/server/172968.html

相关文章

【网络安全】API安全防护完整指南

文章目录 API安全为什么 API 安全性重要?API 安全性与通用应用程序安全性的区别传统 Web 安全的主要特征API 安全的关键特征OWASP API 前 10 大安全威胁API1:2019 - 破坏对象级授权(Broken Object-Level Authorization)API2:2019 - 破坏用户身份验证(Broken User Authentic…

(二 十 二)趣学设计模式 之 备忘录模式!

目录 一、 啥是备忘录模式?二、 为什么要用备忘录模式?三、 备忘录模式的实现方式四、 备忘录模式的优缺点五、 备忘录模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,…

C++----const关键字与constexpr关键字

目录 一、const关键字/限定符 1.1 基本的const变量【const修饰变量(包括函数参数、函数返回值)】 1.2 const指针【分为指针常量(指向常量的指针)和常量指针】 1.2.1 指向常量的指针【const int*p;】 1.2.2 常量指针【int* con…

常用的分布式 ID 设计方案

文章目录 1.UUID2.数据库自增 ID3.雪花算法4.Redis 生成 ID5.美团 Leaf 1.UUID 原理:UUID 是由数字和字母组成的 128 位标识符,通过特定算法随机生成,包括时间戳、计算机网卡地址等信息。常见的版本有版本 1(基于时间戳和 MAC 地…

深入理解设计模式中的工厂模式(Factory Pattern)

各类资料学习下载合集 ​​https://pan.quark.cn/s/8c91ccb5a474​​ 工厂模式是创建对象的一种设计模式,属于创建型设计模式。它提供了一种方法来创建对象,而无需在代码中直接指定对象的具体类。工厂模式通过将对象的创建过程封装起来,使得代码更加灵活、可维护…

windows 上删除 node_modules

在 Windows 11 上,你可以通过命令行来删除 node_modules 文件夹并清除 npm 缓存。以下是具体步骤: 删除 node_modules 打开命令提示符(Command Prompt)或终端(PowerShell)。 导航到项目目录。你可以使用 …

芯科科技通过全新并发多协议SoC重新定义智能家居连接

MG26系列SoC现已全面供货,为开发人员提供最高性能和人工智能/机器学习功能 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB),日前宣…

Spring Boot 常用注解全解析:从核心到进阶的实践指南

目录 引言:为什么注解是Spring Boot开发者的“战略武器”? 一、核心启动注解 1.1 应用启动三剑客 二、Web开发注解 2.1 控制器层注解 三、依赖注入注解 3.1 依赖管理矩阵 四、数据访问注解 4.1 JPA核心注解 五、配置管理注解 5.1 配置绑定注解…