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

相关文章
|
2月前
|
JavaScript 前端开发 数据安全/隐私保护
详细介绍NPM的基本使用方法、常用命令和一些实用技巧
详细介绍NPM的基本使用方法、常用命令和一些实用技巧
159 0
|
2月前
|
资源调度 jenkins 持续交付
jenkins 自动安装nodejs16.16.0版本报错处理
jenkins 自动安装nodejs16.16.0版本报错处理
95 0
|
11月前
|
Shell 开发工具 git
Git安装与使用方法入门
Git是一个帮助开发者追踪代码变化和团队协作的工具。它记录了代码修改的历史,并允许回到过去的版本。开发者可以创建分支来独立开发新功能,而不影响主代码。团队成员可以共享代码,并轻松合并修改。Git提供了高效的工作流程和协作机制,使代码管理更简单。总之,Git是一个强大而灵活的工具,适用于个人和团队开发。
131 0
|
2月前
|
缓存 JavaScript 算法
Nodejs 第四章(Npm install 原理)
Nodejs 第四章(Npm install 原理)
44 0
|
2月前
|
PHP
composer selfupdate或composer self-update不管用解决办法
composer selfupdate或composer self-update不管用解决办法
61 0
|
12月前
|
缓存 Linux PHP
PHP快速入门14-Composer包管理安装与使用,附常见的20个使用例子
PHP Composer 是 PHP 的一个包管理工具,它被广泛用于 PHP 应用程序的依赖管理。Composer 可以自动查找和下载 PHP 应用所需要的第三方类库和组件,并将它们集成到应用程序中。
260 0
|
Linux PHP 开发者
Composer 镜像原理 (1) —— 初识 Composer
Composer 是一个 PHP 的依赖管理工具,它可以帮助开发者轻松地管理和维护 PHP 项目中的依赖关系。你是否好奇过它的镜像仓库是怎么实现的?本文为你揭晓。
106 0
|
PHP Windows
ThinkPHP5通过composer安装Workerman安装失败问题(避坑指南)
ThinkPHP5通过composer安装Workerman安装失败问题(避坑指南)
327 0
|
数据库连接 PHP
使用composer安装laravel-admin及其过程中遇到的坑
使用composer安装laravel-admin及其过程中遇到的坑
243 0
composer的基本使用和常见报错解决
composer的基本使用和常见报错解决
380 0