> 개발 도구 > composer > 가장 포괄적이고 상세한 Composer 설치 및 구성 튜토리얼(win/linux)

가장 포괄적이고 상세한 Composer 설치 및 구성 튜토리얼(win/linux)

藏色散人
풀어 주다: 2021-10-27 16:01:07
앞으로
12885명이 탐색했습니다.

Windows 및 Linux에서 Composer 설치 및 구성

소개: Composer는 종속 관계를 관리하기 위해 PHP에서 사용하는 도구입니다. 프로젝트에서 의존하는 외부 라이브러리를 선언할 수 있으며 Composer가 이러한 종속 라이브러리 파일을 자동으로 설치합니다.

(1) 윈도우 설치

1.1 Composer 다운로드

Composer 공식 홈페이지 다운로드 Composer.exe 애플리케이션(https://getcomposer.org/)

1.2 Composer 설치

다운로드 버전 최신 Composer 버전과 PATH 환경변수가 자동으로 설정되므로 어떤 디렉터리에서든 Composer를 호출할 수 있습니다

  • 로컬 PHP 구성의 버전에 따라 를 선택하고 다음 단계에서 설치하세요

  • 전역 구성

①"경로" 검색 -> "시스템 환경 변수 편집" 열기 - "환경 변수"

②관리자 사용자 변수 구성


1.3 설치 성공

# win+R 输入cmd 进入C:\Users\Administrator>composer
 ______
 / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
 /_/
Composer version 2.1.9 2021-10-05 09:47:38
로그인 후 복사

(2)Linux 설치

2.1 Download Composer

**# 进入根目录下载** [root@VM-12-9-centos /] curl -sS https://getcomposer.org/installer | php
Composer (version 2.1.9) successfully installed to: //composer.phar
Use it: php composer.phar #下载成功#友情提示:下载因为是外网可能会出现请求失败的情况,耐心多尝试下就成功了
로그인 후 복사
  • 다운로드가 자주 실패하는 경우 Alibaba Cloud의 미러를 사용하여 다운로드할 수 있습니다

#이 미러는 Packagist와 동기화됩니다. 공식적으로는 최신 Composer 버전을 사용하는 것이 좋습니다
[root@VM-12-9-centos /] 컬 -sS mirrors.aliyun.com/composer/compos...

2.2 글로벌 구성

# 复制composer.phar到/usr/local/bin/目录下生成composer的目录,方便全局使用[root@VM-12-9-centos /] mv composer.phar /usr/local/bin/composer
로그인 후 복사

2.3 미러 소스 변경

해외 웹사이트는 국내 요청이 매우 느리기 때문에 국내 소스를 교체하여 소스 다운로드 속도를 높일 수 있습니다. 국내에는 다양한 미러 소스가 있습니다. 일반적으로 사용되는 소스는 다음과 같습니다. 필요에 따라 그 중 하나를 선택할 수 있습니다.

  • Alibaba Cloud Composer 이미지권장
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    로그인 후 복사
  • 국내 Cloud Composer 이미지
    composer config -g repo.packagist composer https://packagist.phpcomposer.com
    로그인 후 복사
  • Tencent Cloud Composer 이미지
    composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
    로그인 후 복사
  • Huawei Cloud Compos 어 이미지
    composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
    로그인 후 복사
  • 안창윤 작곡가 거울
    composer config -g repo.packagist composer //m.sbmmt.compkg.org/
    로그인 후 복사

    2.4가 성공적으로 설치되었습니다.

    [root@VM-12-9-centos etc]# composer
     ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                      /_/
    Composer version 2.1.9 2021-10-05 09:47:38
    로그인 후 복사

(3) Composer 명령

3.1 버전 보기

composer --version# 查看版本会看到当前版本以及更新时间[root@VM-12-9-centos /]# composer --versionComposer version 2.1.9 2021-10-05 09:47:38
로그인 후 복사

3.2 버전 업그레이드

# 升级将默认升到最新版本composer self-update# **友情提示:** 版本升级命令将会从官方版本去下载composer,phar镜像,速度将受限!强烈建议全局配置加速镜像
로그인 후 복사

3.3 진단 명령 실행

composer diagnose
로그인 후 복사

3.4 캐시 지우기

composer clear
로그인 후 복사

3.5 프로젝트 업데이트 작곡가.lock

composer update --lock
로그인 후 복사

3.6 디버깅

# **Composer调试只需要在命令前加上-vvv就可以打印出错信息** # 例如下载laravel命名为blog的项目composer -vvv create-project laravel/laravel blog
로그인 후 복사

3.7 종속 패키지 설치

# 该命令仅限在项目根目录操作
composer install
로그인 후 복사

3.8 종속 패키지 업데이트

# 该命令仅限在项目根目录操作

### 更新所有依赖包
composer update

### 更新指定依赖包
composer update monolog/monolog

### 更新多个指定依赖包
composer update monolog/monolog symfony/dependency-injection

### 根据通配符匹配更新依赖包
composer update monolog/monolog symfony/*
로그인 후 복사

3.9 종속 패키지 제거

# 移除指定依赖包
composer remove monolog/monolog

# 根据通配符匹配移除依赖包
composer remove monolog/monolog symfony/*
로그인 후 복사

3.10 종속 패키지 검색

# 搜索依赖包:输出包及其描述信息
composer search monolog

# 只搜索包:--only-name
composer search --only-name monolog

# 根据通配符搜索依赖包
composer search mono*
로그인 후 복사

3.11 종속 패키지 보기

# **该命令仅限项目根目录使用**# 查看**当前项目**已安装的依赖包
composer show

# 根据通配符**当前项目**进行筛选
composer show laravel*# 查看**当前项目**指定依赖包
composer show laravel/tinker
로그인 후 복사

(4) 프로젝트 사용

프로젝트에서 우리는 종종 Composer를 사용하여 패키지나 라이브러리를 다운로드하고 업데이트하지만, 다양한 문제에 직면하는 경우가 많습니다. 사용 중. 다음으로 일반적인 문제를 다루겠습니다.

4.1 宝塔面板安装Composer

composer 的安装需要php开启 putenv 函数 ,否则会安装失败!由于 putenv 函数可以设置特定的环境变量而被认为是一个潜在的安全漏洞,因此php在安装之初是默认禁止它的!

  • 删除禁用函数

宝塔面板出于对于安全的考虑,自动禁用了一些函数;因为安装Composer也会用到相应的函数,我们应该先删除在安装 Composer 。          安装 Composer 需要删除 的 PHP 禁用函数:putenv()          友情提示: 在使用 Composer 的时候需要根据项目的php版本去做操作(安装多少个PHP版本就需要相对应删除),下图示范是根据 php-8.0 来操作的。

  • 非宝塔面板管理操作
# 进入php.ini配置文件编辑--->搜索(输入 / 进入搜索模式,搜索disable_functions)# ---->依次删除putenv**### 第一步:查询php.ini路径** [root@VM-12-9-centos 74]# find / -name "php.ini"/www/server/php/56/etc/php.ini
/www/server/php/80/etc/php.ini
/www/server/php/74/etc/php.ini

**### 第二步:依次编辑php.ini文件** : 删除函数putenvvim /www/server/php/56/etc/php.ini

**### 第三步:搜索“disable_functions”** # ESC + :+ / + disable_functions 将会自动定位到指定位置disable_functions = passthru,exec,system,**putenv** ,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

**### 第四步:保存文件并退出** ESC + :wq!
로그인 후 복사
  • 友情提醒

宝塔是支持php多版本的,如果在不同版本的php中使用 composer ,只要开启php中的 putenv 函数即可!

4.2 PHP项目使用

  • composer.lock已经存在

使用场景: 由于下载代码或者git代码或者部署项目时会存在 composer.lock , 首先应该删除composer.lock

# 项目中composer.lock已经存在,需要进行删除,再重新安装,安装成功后会重新生成composer.lock文件# 案例示范:**### 第一步:进入项目blog根目录** cd www\wwwroot\blog

**### 第二步:删除composer.lock文件** # 删除请核对文件名后谨慎操作rm -rf composer.lock

**### 第三步:重新composer安装项目所需包** composer install
로그인 후 복사

(五)结尾

提示: 不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!   

原文地址:https://learnku.com/articles/62076                               

위 내용은 가장 포괄적이고 상세한 Composer 설치 및 구성 튜토리얼(win/linux)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿