>백엔드 개발 >PHP 튜토리얼 >CentOS 시스템에 PHP용 확장을 설치하는 방법 요약

CentOS 시스템에 PHP용 확장을 설치하는 방법 요약

不言
不言원래의
2018-06-04 17:27:452420검색

이 글에서는 주로 패키지 관리 스타일의 yum 설치, pecl 설치, 소스 코드 컴파일 및 설치를 포함하여 CentOS 시스템에서 PHP를 설치하고 확장하는 방법에 대한 요약을 제공합니다. 요약은 매우 포괄적이므로 모든 사람에게 권장합니다.

CentOS에서 PHP에는 주로 패키지 관리, yum 설치, pecl 설치를 포함하여 확장 프로그램을 설치하는 다양한 방법이 있습니다. > 및 소스 코드 컴파일 및 설치. CentOS 下,PHP有多种方式来安装扩展, 主要有 包管理式yum 安装pecl 安装 , 以及 源码编译安装

包管理式 的安装卸载尤为方便,而 源码编译式 的安装则方便参数调优。

一般搭建本机开发环境推荐 包管理式 的安装,节约时间。而 线上部署 环境则推荐 编译安装 , 方便调优。

本文以 MongoDB 扩展`安装举例。

工具

PHP版本 : 7.0.17

Nginx : 1.10.2

VMware版本号 : 12.0.0

CentOS版本 : 7.0

一、yum 安装

yum 方式 安装能自动安装扩展的.so动态库,并配置好 php.ini

注:

请确保自己 yum 源 里面有对应扩展

安装完成后重启服务器 Nginx 或者 Apache

浏览器访问 index.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

二、pecl 安装

官方文档: http://php.net/manual/zh/mong...

[root@localhost ~]# pecl install mongodb
-bash: pecl: 未找到命令

直接输入 pecl install mongodb 会报错,说明 pecl 我们没有安装,安装 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 ,安装完成后继续执行上次 未执行成功 的命令

[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

浏览器访问 index.php 文件,输出 phpinfo 信息,如果有 MongoDB 信息,则安装成功

三、源码编译安装

源码编译包下载列表: 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 ,安装完成后继续执行上次 未执行成功 的命令

[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 里面加载 MongoDB 扩展

重启服务器 Nginx 或者 Apache

浏览器访问 index.php 文件,输出 phpinfo 信息,如果有 MongoDB 信息,则安装成功

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

总结:

pecl 安装源码编译安装 区别就是:后者更方便参数调优。

在选择 Mongo 扩展 的时候,官方提供了两种: mongomongodb

패키지 관리 스타일은 설치 및 제거가 특히 편리한 반면, 소스 코드 컴파일 스타일 설치는 매개변수 조정에 편리합니다.

일반적으로 로컬 개발 환경을 구축하려면 패키지 관리를 설치하여 시간을 절약하는 것이 좋습니다. 온라인 배포 환경에서는 손쉬운 튜닝을 위해 컴파일 및 설치를 권장합니다.

이 글에서는 MongoDB 확장 설치 예시를 사용합니다. 🎜🎜도구🎜🎜PHP 버전: 7.0.17🎜🎜Nginx: 1.10.2🎜🎜VMware 버전: 12.0.0🎜🎜CentOS 버전: 7.0🎜🎜1. Strong>🎜🎜yum 메소드 확장 기능을 자동으로 설치할 수 있는 .so 동적 라이브러리를 설치하고 php.ini를 구성하세요.🎜🎜참고: 🎜🎜를 확인하세요. yum 소스에 해당 확장이 있습니다🎜🎜설치가 완료된 후 Nginx 서버를 다시 시작하거나 Apache🎜🎜브라우저에서 인덱스에 액세스하세요. php 파일에 phpinfo 정보를 출력하고, MongoDB 정보가 있으면 설치 성공🎜

🎜rrreee🎜🎜🎜🎜🎜🎜🎜2.pecl 설치🎜🎜공식 문서: http://php.net /manual/zh/mong.. .🎜

🎜rrreee🎜🎜🎜 pecl install mongodb를 직접 입력하면 pecl이라는 오류가 보고됩니다. code>를 설치하지 않았으면 pecl을 설치하세요. code>🎜

🎜rrreee🎜🎜🎜이 단계에서 또 다른 오류가 보고됩니다. openssl을 설치하려면 설치가 완료된 후 명령이 성공적으로 실행되지 않았습니다🎜🎜 🎜

🎜rrreee🎜🎜🎜설치가 완료된 후 MongoDBPHP 구성 파일 php.ini🎜의 /code> 확장자 🎜🎜🎜설치가 완료된 후 서버를 다시 시작하세요.Nginx 또는 <code>Apache🎜🎜browser가 에 액세스합니다. index.php 파일을 열어 phpinfo 정보를 출력하는데, MongoDB 정보가 있으면 설치 성공🎜🎜🎜🎜3, 소스코드 컴파일 및 설치🎜🎜소스코드 컴파일 패키지 다운로드 목록 : https://pecl.php.net/packages.php🎜🎜Mongodb 패키지 다운로드 주소 : https://pecl.php.net/package/mongodb🎜

🎜rrreee🎜🎜🎜여기서 익숙한 맛과 느낌입니다. openssl을 설치해야 하며, 설치가 완료된 후 계속 진행하세요. 성공적으로 실행되지 않았다는 명령을 실행하세요 지난번🎜🎜🎜

🎜rrreee🎜🎜🎜설명: php-configPHP 구성에 대해 설치된 정보를 가져오기하는 데 사용되는 간단한 명령줄 스크립트입니다. 🎜🎜확장을 컴파일할 때 여러 PHP 버전이 설치된 경우 구성 중에 -with-php-config 옵션을 사용하여 컴파일에 사용할 버전을 지정할 수 있습니다. php-config 스크립트 경로입니다. 🎜🎜아래와 같이 성공적으로 컴파일되었습니다🎜🎜🎜🎜이때 PHP 구성 파일 php.ini🎜🎜MongoDB

확장자를 로드합니다. src="https ://img.php.cn/upload/article/000/153/291/a9b07645e84151602098f2a2dab9eefd-3.png"/>🎜🎜서버 Nginx 또는 Apache🎜🎜 브라우저가 <code>index.php 파일에 접근하여 phpinfo 정보를 출력합니다. MongoDB 정보가 있으면 설치 성공입니다🎜

🎜rrreee🎜🎜🎜 🎜🎜요약:🎜🎜 pecl 설치소스 코드 컴파일 및 설치의 차이점은 후자가 매개변수 조정에 더 편리하다는 것입니다. 🎜🎜Mongo 확장을 선택하면 공식에서는 mongomongodb의 두 가지 유형을 제공합니다.🎜🎜첫 번째 유형: https://pecl .php .net/package/mongo🎜🎜두 번째: https://pecl.php.net/package/mongodb🎜

첫 번째 공식 팁: 이 패키지는 대체되었지만 버그 및 보안 수정을 위해 계속 유지됩니다, 폐기되었지만 버그보안 Code> 문제는 계속 수정될 예정이며, PHP7은 지원되지 않습니다. This package has been superseded, but is still maintained for bugs and security fixes ,已经废弃了,不过 bugsecurity 方面的问题还会继续修复,不支持 PHP7

建议:

PHP 版本为 5.x 建议使用 mongo 扩展

PHP 版本为 7.x 建议使用 mongodb 扩展

PHP5.x 可以使用 mongodb 扩展。但是 PHP7.x 不可以使用 mongo 扩展。

写在最后:

如果是自己学习的话还是推荐 yum 安装 ,因为在你安装过程中会出现 缺少各种依赖报错

권장 사항:

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

PHP 버전은 7.x를 사용하는 것이 좋습니다. code> 확장.

PHP5.x는 mongodb

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

마지막에 작성됨:🎜🎜혼자서 공부하는 경우에도 yum 설치를 권장합니다. 설치 과정에서 가 누락될 수 있기 때문입니다. 다양한 종속성 > 오류 🎜🎜🎜🎜🎜🎜🎜🎜🎜

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.