>데이터 베이스 >MySQL 튜토리얼 >CentOS7에서 php7.1을 배포하고 MySQL 확장을 활성화하는 방법

CentOS7에서 php7.1을 배포하고 MySQL 확장을 활성화하는 방법

WBOY
WBOY앞으로
2023-05-28 15:01:061622검색

간단한 설치(yum 방식)

소프트웨어 소스 설치

epel 소스 추가

[root@opstrip.com opt]# rpm --import /etc/pki/rpm-gpg/rpm-gpg-key*
[root@opstrip.com opt]# rpm -uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm

remi 소스 추가

[root@opstrip.com opt]# rpm -uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

소프트웨어 설치 및 업데이트

yum-config-manager 유틸리티 설치

[root@opstrip.com opt]# yum -y install yum-utils

업데이트 이후 시스템

[root@opstrip.com opt]# yum -y update

의 현재 소프트웨어 버전이 업데이트되면 필요한 PHP 버전을 설치할 수 있습니다.

php 설치

위의 준비가 완료되면 필요한 PHP 버전을 설치하시면 됩니다.

php5.4의 경우

[root@opstrip.com opt]# yum -y install php

설치 전에 yum search php54를 사용하여 설치 가능한 소프트웨어 패키지를 검색할 수 있습니다.

php7.0의 경우

[root@opstrip.com opt]# yum-config-manager --enable remi-php70
[root@opstrip.com opt]# yum -y install php php-opcache

설치하기 전에 yum search php70을 사용하여 설치 가능한 소프트웨어 패키지를 검색할 수 있습니다. yum search php70搜索可安装的软件包。

对于php7.1

[root@opstrip.com opt]# yum-config-manager --enable remi-php71
[root@opstrip.com opt]# yum -y install php php-opcache

安装前可尝试yum search php71搜索可安装的软件包。

完成后还需要添加php常用扩展:

[root@opstrip.com opt]# yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

对于nginx

[root@opstrip.com opt]# yum -y install nginx nginx-mod-http-perl nginx-mod-stream nginx-filesystem nginx-mod-mail nginx-mod-http-image-filter nginx-all-modules nginx-mod-http-geoip nginx-mod-http-xslt-filter

安装前仍建议尝试yum search nginx搜索可安装的软件包。

安装完成后配置php及nginx并启动用以测试phpinfo页面,这时候应该能正常显示。

源码编译安装

安装前的准备

下载php安装包

[root@opstrip.com opt]# wget -o php-7.1.5.tar.gz http://cn2.php.net/distributions/php-7.1.5.tar.gz

解压

[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz

安装依赖包

[root@opstrip.com php-7.1.5]# yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

配置安装

编译配置

[root@opstrip.com opt]# cd php-7.1.5
[root@opstrip.com php-7.1.5]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

具体可以参考php官方安装说明文档:

编译安装

[root@opstrip.com php-7.1.5]# make && make install

配置环境变量:

在/etc/profile末尾追加export path=$path:/usr/local/php/bin,然后执行source /etc/profile生效后查看php版本:

[root@opstrip.com php-7.1.5]# php -v
php 7.1.5 (cli) (built: may 31 2017 16:12:38) ( nts )
copyright (c) 1997-2017 the php group
zend engine v3.1.0, copyright (c) 1998-2017 zend technologies

安装后的配置

配置php-fpm

安装完成后可以通过sapi/fpm/php-fpm.server

php7.1의 경우

[root@opstrip.com php-7.1.5]# mkdir -p /etc/php-fpm.d
[root@opstrip.com php-7.1.5]# cp php.ini-production /etc/php.ini
[root@opstrip.com php-7.1.5]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
[root@opstrip.com php-7.1.5]# cp sapi/fpm/www.conf /etc/php-fpm.d/

yum search php71를 사용하여 설치하기 전에 설치 가능한 소프트웨어 패키지를 검색할 수 있습니다.


완료 후에는 일반적인 PHP 확장을 추가해야 합니다.

[root@opstrip.com php-7.1.5]# vi /usr/lib/systemd/system/php-fpm.service
# it's not recommended to modify this file in-place, because it
# will be overwritten during upgrades. if you want to customize,
# the best way is to use the "systemctl edit" command.
 
[unit]
description=the php fastcgi process manager
after=network.target
 
[service]
type=simple
pidfile=/var/run/php-fpm.pid
execstart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
execreload=/bin/kill -usr2 $mainpid
privatetmp=true
 
[install]
wantedby=multi-user.target

nginx의 경우

[root@opstrip.com php-7.1.5]# systemctl enable php-fpm.service
[root@opstrip.com php-7.1.5]# systemctl start php-fpm.service

설치 전에 설치 가능한 소프트웨어 패키지를 검색하려면 yum search nginx를 시도하는 것이 좋습니다.

설치가 완료된 후 php와 nginx를 구성하고 시작하면 phpinfo 페이지가 정상적으로 표시됩니다.

소스 코드 컴파일 및 설치

설치 전 준비

php 설치 패키지 다운로드

[root@opstrip.com php-7.1.5]# ls ext
bcmath  dom     gd   json  oci8   pdo_firebird posix   skeleton sysvsem  xmlwriter
bz2   enchant    gettext  ldap  odbc   pdo_mysql  pspell  snmp  sysvshm  xsl
calendar  exif    gmp   libxml  opcache  pdo_oci   readline  soap  tidy   zip
com_dotnet ext_skel   hash   mbstring openssl  pdo_odbc  recode  sockets  tokenizer zlib
ctype   ext_skel_win32.php iconv  mcrypt  pcntl  pdo_pgsql  reflection spl   wddx
curl   fileinfo   imap   mysql  pcre   pdo_sqlite  session  sqlite3  xml
date   filter    interbase mysqli  pdo   pgsql   shmop   standard xmlreader
dba   ftp     intl   mysqlnd  pdo_dblib phar   simplexml  sysvmsg  xmlrpc
Unzip

[root@opstrip.com ext]# git clone https://github.com/php/pecl-database-mysql mysql --recursive
cloning into 'mysql'...
remote: counting objects: 145, done.
remote: total 145 (delta 0), reused 0 (delta 0), pack-reused 145
receiving objects: 100% (145/145), 88.41 kib | 0 bytes/s, done.
resolving deltas: 100% (65/65), done.
checking connectivity... done.

종속성 패키지 설치

[root@opstrip.com ext]# cd mysql
[root@opstrip.com mysql]# ls
config.m4 config.w32 credits license mysql.mak mysql_mysqlnd.h package.xml php_mysql.c php_mysql.h php_mysql_structs.h readme.md tests
[root@opstrip.com mysql]# /usr/local/php/bin/phpize
configuring for:
php api version:   20151012
zend module api no:  20151012
zend extension api no: 320151012
[root@opstrip.com mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config

구성 및 설치

컴파일 구성

[root@opstrip.com mysql]# make && make install
[root@opstrip.com mysql]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
mysql.so opcache.a opcache.so
자세한 내용은 공식 PHP 설치 지침 문서를 참조하세요.

컴파일 및 설치

extension = "mysql.so"

환경 변수 구성:

끝에 export path=$path:/usr/local/php/bin 추가 /etc/profile, 그리고 source /etc/profile 실행 적용 후 PHP 버전 확인:
rrreee

설치 후 구성


php-fpm 구성

CentOS7에서 php7.1을 배포하고 MySQL 확장을 활성화하는 방법설치가 완료된 후 , sapi/fpm/php-fpm.server를 전달하여 php-fpm을 시작할 수 있습니다. 그러나 향후 관리의 편의를 위해 일반적으로 구성 파일을 /etc 디렉터리에 배치하고 php-fpm.server를 systemctl 서비스에 추가하는 것이 필요합니다.

rrreee🎜 그런 다음 /usr/lib/systemd/system/php-fpm.service 파일을 다음과 같이 올바른 경로를 실행하도록 변경합니다. 🎜rrreee🎜Start php-fpm🎜🎜🎜PHP를 처음 시작할 때 systemctl을 통한 서비스 먼저 php-fpm 서비스를 활성화해야 합니다. 🎜rrreee🎜nginx 컴파일 및 설치🎜🎜세부 정보를 확인하고 필요에 따라 nginx를 구성 및 시작하세요. 여기에는 쓰지 않겠습니다. 🎜🎜🎜mysql 확장 활성화(컴파일 및 설치만)🎜🎜🎜php7에서 mysql 확장 지원이 완전히 제거되었으므로(mysqli 및 mysqlnd로 대체됨) 일부 오래된 소프트웨어는 PHP 버전을 업그레이드한 후 mysql_connect()와 유사한 기능을 보고합니다. 정의되지 않은 오류 , 일반적으로 새로운 phpmysqli 또는 pdo 확장을 사용하여 교체하는 것이 좋습니다. 물론 mysql 확장을 지원하는 php7 코드의 레거시 버전을 확인하고 직접 컴파일하고 설치할 수도 있습니다. 그러나 mysql 확장에는 후속 업데이트가 전혀 없다는 점에 유의해야 합니다. 🎜🎜🎜설치 전 준비🎜🎜🎜현재 확장자 보기🎜현재 php7.1 내장 확장자 보기:🎜rrreee🎜mysql 확장자가 실제로 제거된 것을 볼 수 있습니다. 이전 php mysql을 다음에서 직접 확인할 수 있습니다. ext 디렉토리 확장 코드. 🎜🎜PHP mysql 확장 소스 코드 받기🎜rrreee🎜🎜mysql 확장 프로그램 컴파일 및 설치🎜🎜🎜phpize를 사용하여 컴파일🎜rrreee🎜Installation🎜rrreee🎜설치가 완료된 후 mysql 확장 프로그램이 올바르게 설치되었는지 확인해야 합니다. . 🎜🎜🎜마지막으로 php.ini 구성 파일을 수정하고 다음 줄을 추가합니다: 🎜rrreee🎜php-fpm 서비스를 다시 시작하면 phpinfo에 mysql 확장이 표시됩니다: 🎜🎜🎜🎜🎜

위 내용은 CentOS7에서 php7.1을 배포하고 MySQL 확장을 활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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