composer的基本使用和常见报错解决

简介: composer的基本使用和常见报错解决

一、安装和使用

1.1 安装

# 全局安装
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
mv composer.phar /usr/local/bin/composer

方式二

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

1.2 镜像切换

# 全局切换国内镜像
# 阿里云
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 中国全量镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 取消全局配置
composer config -g --unset repos.packagist
# 当前工程切换配置
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# 取消当前工程配置
composer config --unset repos.packagist
# 清除缓存
composer clear

1.3 基本使用

# 安装依赖包
composer install
# 安装依赖
composer require monolog/monolog
# 更新所有依赖
composer update
# 移除一个包及其依赖
composer remove monolog/monolog
# 列出所有已经安装的包
composer show

二、问题及解决

2.1 问题1

执行以下命令:


composer require sonata-project/doctrine-orm-admin-bundle "2.3.*"

报错:


PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 32 bytes)

解决:


php -r "echo ini_get('memory_limit').PHP_EOL;"  # 查看memory大小
COMPOSER_MEMORY_LIMIT=-1 composer require sonata-project/doctrine-orm-admin-bundle  # 临时设置memory大小

参看官方说明(打开太慢了):

https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors


2.2 问题2

but these conflict with your requirements or minimum-stability.

解决:在composer.json中添加以下


"minimum-stability": "dev",

参考

Composer问题集锦


2.3 问题3

[Symfony\Component\Process\Exception\RuntimeException] 
The Process class relies on proc_open, which is not available on your PHP installation. *

解决方法:

打开php.ini,搜索disable_functions指令


disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

找到proc_open并删除即可


同理,一下报错也使用同样的方式处理


proc_get_status() has been disabled for security reasons
# 以下两个配置需要删除
disable_functions = proc_get_status,proc_open

参考

[Symfony\Component\Process\Exception\RuntimeException] The Proc

使用composer提示[ErrorException ]proc_get_status() has been disabled for security reasons 的解决方法


2.4 指定PHP版本

/usr/local/php71/bin/php /usr/local/bin/composer install

相关文章
|
设计模式 JSON 前端开发
前端框架Layui实现动态树效果(书籍管理系统左侧下拉列表)(一)
前端框架Layui实现动态树效果(书籍管理系统左侧下拉列表)
689 0
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
还在想开题报告?SurveyGO卷姬:清华开源学术论文AI写作神器,一键生成文献综述
SurveyGO是清华与面壁智能联合开源的AI论文写作工具,采用LLMxMapReduce-V2技术实现文献智能聚合,能根据用户输入主题快速生成结构严谨、引用可靠的学术综述。
1146 1
还在想开题报告?SurveyGO卷姬:清华开源学术论文AI写作神器,一键生成文献综述
|
关系型数据库 流计算 PostgreSQL
关于PostgreSQL逻辑订阅中的复制状态
关于PostgreSQL逻辑订阅中的复制状态
3112 0
|
8月前
简约404错误页面HTML源码
简约404错误页面HTML源码
348 12
|
7月前
|
缓存 JavaScript PHP
斩获开发者口碑!SnowAdmin:基于 Vue3 的高颜值后台管理系统,3 步极速上手!
SnowAdmin 是一款基于 Vue3/TypeScript/Arco Design 的开源后台管理框架,以“清新优雅、开箱即用”为核心设计理念。提供角色权限精细化管理、多主题与暗黑模式切换、动态路由与页面缓存等功能,支持代码规范自动化校验及丰富组件库。通过模块化设计与前沿技术栈(Vite5/Pinia),显著提升开发效率,适合团队协作与长期维护。项目地址:[GitHub](https://github.com/WANG-Fan0912/SnowAdmin)。
1025 5
|
8月前
|
弹性计算 负载均衡 网络协议
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
718 76
|
10月前
|
NoSQL 算法 安全
Redis原理—1.Redis数据结构
本文介绍了Redis 的主要数据结构及应用。
Redis原理—1.Redis数据结构
|
域名解析 Java Go
实现阿里云域名的DDNS
实现阿里云域名的DDNS
24041 6
|
Dart 前端开发 JavaScript
dart-sass与node-sass的区别以及使用dart-sass可能会出现的问题
dart-sass与node-sass的区别以及使用dart-sass可能会出现的问题
2053 0
dart-sass与node-sass的区别以及使用dart-sass可能会出现的问题
|
运维 关系型数据库 Java
实时计算 Flink版产品使用问题之如何设置白名单
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。