当前位置: 首页 > article >正文

windows环境执行composer install出错

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

  • 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 请求,例如从远程仓库下载包。

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

请添加图片描述

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

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.kler.cn/a/571426.html

相关文章:

  • 轮播图案例
  • C++20中的std::bind_front使用及原理分析
  • 小米 SU7 Ultra:科技与性能的极致融合,FPC 隐匿的关键力量【新立电子】
  • Windows逆向工程入门之MASM STRUCT
  • Visual Studio Code 如何编写运行 C、C++ 程序
  • 多线程与异步任务处理(二):Kotlin协程
  • 【Linux篇】第一个系统程序 - 进度条
  • 【Laplacian边缘检测详解】
  • Compose Multiplatform开发记录之文件选择器封装
  • 三方库总结
  • 【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(成功版)
  • 鸿蒙与DeepSeek深度整合:构建下一代智能操作系统生态
  • 【leetcode hot 100 189】轮转数组
  • 从零开始学习Slam--数学概念
  • 《Operating System Concepts》阅读笔记:p180-p187
  • 蓝桥杯 2020 国赛 阶乘约数
  • 自学微信小程序的第十天
  • [liorf_localization_imuPreintegration-2] process has died
  • python全栈-Linux基础
  • 【Linux】进程信号——信号保存和信号捕捉