CentOS_7下安装PHP7.3

Posted 江梦丽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS_7下安装PHP7.3相关的知识,希望对你有一定的参考价值。

安装mysql:https://www.cnblogs.com/jiangml/p/10402390.html

下载php安装包:

官网:http://www.php.net/downloads.php

压缩包放在 /usr/local/src 

wget -O下载时重命名压缩包

tar解压

cd /usr/local/src
wget -O php-7.3.2.tar.gz http://php.net/get/php-7.3.2.tar.gz/from/a/mirror
tar -xvzf php-7.3.2.tar.gz

安装:

./configure --prefix参数指定安装路径

cd /usr/local/php-7.3.2
yum
-y install libcurl-devel yum -y install libXpm-devel yum -y install libxml2-devel ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-zlib-dir=/usr/local/zlib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype

若是出现下图类似错误Cannot find

解决方法:

yum install openssl -y
yum install openssl-devel -y

再重新执行上面configure,配置成功。

make
make install

删除临时文件

make clean
make distclean

 配置php:

到之前编译的源码包中将 php.ini-production 复制到 /usr/local/php/php.ini

cd /usr/local/src/php-7.3.2  
cp php.ini-production /usr/local/php/php.ini

复制启动脚本

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

修改php-fpm配置文件

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

 去掉pid = run/php-fpm.pid前面的分号。:wq! 保存并退出。

启动php:

/etc/init.d/php-fpm start       #php-fpm启动命令
/etc/init.d/php-fpm stop        #php-fpm停止命令
/etc/init.d/php-fpm restart     #php-fpm重启命令
ps -ef | grep php               #查看是否已经成功启动PHP

MySql扩展:

(PHP7.2不再支持mysql,而是用mysqli取代。)

由于需要和MySQL进行通信,所以需要特别查看PHP7安装后的lib扩展库目录 /usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/ 下是否有mysqli.so  pdo_mysql.so

没有的话,需要手动编译生成扩展。

需要用到php的源码包。通过源码包中提供的phpize文件(一个专门挂接php扩展的工具)。

phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件。也就是说我现在需要分别进入源码包中的mysqli与pdo_mysql目录下编译安装。

cd /usr/local/src/php-7.3.2/ext     //进入源码目录

先编译生成mysqli.so

注:/usr/local/mysql/为mysql的安装目录

cd mysqli
/usr/local/php/bin/phpize
 ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql/
make
make install

再来编译生成pdo_mysql:

cd pdo_mysql
/usr/local/php/bin/phpize
./configure --with-pdo-mysql=/usr/local/mysql --with-php-config=/usr/local/php/bin/php-config
make
make install

然后再去查看 /usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/ 目录下是否安装成功。

安装成功后,修改php.ini

去掉下图扩展前的分号,若没有则自行添加。

 重启nginx,完成。

以上是关于CentOS_7下安装PHP7.3的主要内容,如果未能解决你的问题,请参考以下文章

centos8自定义目录安装php7.3

centos7源码安装PHP7.3

centos7系统源码编译安装PHP7.3.5版本

centos6多php共存下编译安装php7.3.0

已安装 php-gd 但在 centos 7(php 7.3 版本)中无法运行

centos 下编译安装php7.3的redis扩展