>백엔드 개발 >PHP 튜토리얼 >CentOS에서 세 가지 PHP 확장 설치 방법

CentOS에서 세 가지 PHP 확장 설치 방법

藏色散人
藏色散人앞으로
2020-01-09 17:15:533639검색

CentOS에서 PHP는 패키지 관리 스타일 yum 설치, pecl 설치, 소스 코드 컴파일 및 설치를 포함하여 확장 기능을 설치하는 다양한 방법을 제공합니다.

패키지 관리 스타일 설치 및 제거가 특히 편리하며, 소스 코드 컴파일 스타일 설치는 매개변수 조정을 용이하게 합니다.

일반적으로 로컬 개발 환경을 구축할 때 시간 절약을 위해 패키지 관리 설치를 권장합니다. 온라인 배포 환경의 경우 튜닝을 용이하게 하기 위해 컴파일 및 설치를 권장합니다.

이 문서에서는 MongoDB 확장 설치를 예로 사용합니다.

Tools

PHP 버전: 7.0.17

Nginx: 1.10.2

VMware 버전: 12.0.0

CentOS 버전: 7.0

1. yum 설치

yum 설치가 자동으로 완료될 수 있습니다. 확장된 .so 동적 라이브러리를 설치하고 php.ini를 구성하세요

참고:

yum 소스에 해당 확장이 있는지 확인하세요

설치가 완료된 후 Nginx 또는 Apache

서버를 다시 시작하세요. 브라우저 인덱스에 액세스하세요. .php 파일을 생성하고 phpinfo 정보를 출력하고, MongoDB 정보가 있으면 설치 성공입니다

[root@localhost ~]# yum search mongodb|grep php        # 搜索 yum 源里面 MongoDB 拓展
[root@localhost ~]# yum -y install php70w-pecl-mongo   # 安装 PHP 对应版本的 MongoDB 扩展
[root@localhost ~]# systemctl restart nginx            # 重新启动 Nginx

CentOS에서 세 가지 PHP 확장 설치 방법

2. pecl 설치

공식 문서: https://www.php.net/manual/zh/mongodb .installation.pecl.php

[root@localhost ~]# pecl install mongodb

-bash: pecl: Command notfound

pecl install mongodb를 직접 입력하면 pecl을 설치하지 않았음을 나타내는 오류가 보고됩니다

[root@localhost ~]# yum -y install php70w-pear
[root@localhost ~]# pecl install mongodb
configure: error: Cannot find OpenSSL&#39;s <evp.h>
ERROR: `/var/tmp/mongodb/configure --with-php-config=/usr/bin/php-config&#39; failed

이 단계에서 오류가 발생합니다. openssl을 다시 설치해야 합니다. 설치가 완료되면 이전 실행을 계속하세요. 실패한 명령

CentOS에서 세 가지 PHP 확장 설치 방법

[root@localhost ~]# yum -y install openssl openssl-devel
[root@localhost ~]# pecl install mongodb
[root@localhost ~]# systemctl restart nginx             # 重新启动 Nginx

설치가 완료된 후 PHP 구성 파일 php.ini

에 MongoDB 확장을 로드합니다.

CentOS에서 세 가지 PHP 확장 설치 방법

설치가 완료된 후 Nginx 또는 Apache 서버를 다시 시작하세요

Browser에서 index.php 파일에 접속하여 phpinfo 정보를 출력하고, MongoDB 정보가 있으면 설치 성공입니다

CentOS에서 세 가지 PHP 확장 설치 방법

3. 소스코드 컴파일 및 설치

소스 코드 컴파일 패키지 다운로드 목록: https://pecl.php.net/packages.php

Mongodb 패키지 다운로드 주소: https: //pecl.php.net/package/mongodb

[root@localhost ~]# wget http://pecl.php.net/get/mongodb-1.2.8.tgz  #下载源码包
[root@localhost ~]# tar zxf mongodb-1.2.8.tgz  #解压
[root@localhost ~]# cd mongodb-1.2.8
# 可能是 /usr/local/php/bin/phpize 找到自己的 phpize 文件,php-config 同理
[root@localhost mongodb-1.2.8]# /usr/bin/phpize    
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012
[root@localhost mongodb-1.2.8]# ./configure --with-php-config=/usr/bin/php-config
configure: error: Cannot find OpenSSL&#39;s <evp.h>

이 단계에서 , 익숙한 맛과 느낌입니다. openssl을 설치해야 합니다. 설치가 완료된 후 지난번에 성공적으로 실행되지 않았던 명령을 계속 실행하세요

CentOS에서 세 가지 PHP 확장 설치 방법

[root@localhost mongodb-1.2.8]# yum -y install openssl openssl-devel
[root@localhost mongodb-1.2.8]# ./configure --with-php-config=/usr/bin/php-config
# 确保自己安装了 gcc gcc++ 如果没有安装 yum -y install gcc gcc++
[root@localhost mongodb-1.2.8]# make && make install # 编译

설명: php-config는 간단한 명령줄 스크립트입니다. 설치된 PHP 구성 정보를 얻는 데 사용됩니다.

확장 기능을 컴파일할 때 여러 PHP 버전이 설치된 경우 구성 중에 --with-php-config 옵션을 사용하여 컴파일에 사용할 버전을 지정할 수 있습니다. 이 옵션은 해당 php-config 스크립트에 대한 경로를 지정합니다.

아래와 같이 컴파일이 성공합니다

CentOS에서 세 가지 PHP 확장 설치 방법

이때 PHP 구성 파일 php.ini

CentOS에서 세 가지 PHP 확장 설치 방법

서버를 다시 시작합니다. Nginx 또는 Apache

브라우저로 index.php 파일에 액세스합니다. , phpinfo 정보를 출력하고 MongoDB 정보가 있으면 설치에 성공한 것입니다

[root@localhost mongodb-1.2.8]# systemctl restart nginx # 重新启动 Nginx

CentOS에서 세 가지 PHP 확장 설치 방법

요약:

pecl 설치와 소스 코드 컴파일 설치의 차이점은 후자가 매개 변수 조정에 더 편리하다는 것입니다.

Mongo 확장을 선택할 때 공식에서는 mongo와 mongodb의 두 가지 유형을 제공합니다.

첫 번째 유형: https://pecl.php.net/package/mongo

두 번째 유형: https://pecl.php .net /package/mongodb

첫 번째 공식 팁: 이 패키지는 대체되었지만 버그 및 보안 수정을 위해 계속 유지관리되고 폐기되었지만 버그 및 보안 문제는 계속 수정될 예정이며 PHP7은 지원되지 않습니다.

권장사항:

PHP 버전 5.x용 mongo 확장을 사용하는 것이 좋습니다.

PHP 버전 7.x용 mongodb 확장을 사용하는 것이 좋습니다.

PHP5.x에서는 mongodb 확장을 사용할 수 있습니다. 그러나 PHP7.x는 mongo 확장을 사용할 수 없습니다.

마지막에 작성됨:

직접 학습하는 경우 yum을 사용하여 설치하는 것이 좋습니다. 설치 과정에서 다양한 종속성이 누락되었다고 보고하는 오류가 발생할 수 있기 때문입니다.

PHP 관련 지식을 더 보려면 PHP 튜토리얼을 방문하세요!

위 내용은 CentOS에서 세 가지 PHP 확장 설치 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제