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
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's <evp.h> ERROR: `/var/tmp/mongodb/configure --with-php-config=/usr/bin/php-config' failed
이 단계에서 오류가 발생합니다. openssl을 다시 설치해야 합니다. 설치가 완료되면 이전 실행을 계속하세요. 실패한 명령
[root@localhost ~]# yum -y install openssl openssl-devel [root@localhost ~]# pecl install mongodb [root@localhost ~]# systemctl restart nginx # 重新启动 Nginx
설치가 완료된 후 PHP 구성 파일 php.ini
에 MongoDB 확장을 로드합니다.설치가 완료된 후 Nginx 또는 Apache 서버를 다시 시작하세요
Browser에서 index.php 파일에 접속하여 phpinfo 정보를 출력하고, MongoDB 정보가 있으면 설치 성공입니다
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's <evp.h>
이 단계에서 , 익숙한 맛과 느낌입니다. openssl을 설치해야 합니다. 설치가 완료된 후 지난번에 성공적으로 실행되지 않았던 명령을 계속 실행하세요
[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 스크립트에 대한 경로를 지정합니다.
아래와 같이 컴파일이 성공합니다
이때 PHP 구성 파일 php.ini
서버를 다시 시작합니다. Nginx 또는 Apache
브라우저로 index.php 파일에 액세스합니다. , phpinfo 정보를 출력하고 MongoDB 정보가 있으면 설치에 성공한 것입니다
[root@localhost mongodb-1.2.8]# systemctl restart nginx # 重新启动 Nginx
요약:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!