大致步骤:下载–解压–编译–安装–配置
php官网:
https://www.php.net/releases/php5.6连接地址
http://hk1.php.net/get/php-5.6.36.tar.gz/from/this/mirror
http://hk2.php.net/get/php-5.6.36.tar.gz/from/this/mirror
1.安装php 所依赖的软件
yum -y install gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcur
其中livxml2为让php支持xml格式的输出,libmcrypt让php支持加密功能,bzip2让php支持压缩功能,freetype让php支持多种字体
报错:Centos安装PHP时,安装php依赖包时yum install libmcrypt libmcrypt-devel,报错如下:
No package libmcrypt available. No package libmcrypt-devel available. Error: Nothing to do
然后编译的时候,又报错:
checking for mcrypt support... yes configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法:
yum install epel-release //扩展包更新包,然后重新执行命令即可
yum install libmcrypt libmcrypt-devel mcrypt mhash //就ok了
2.下载php源码包解压进入
下载解压
wget http://hk1.php.net/get/php-7.3.3.tar.gz/from/this/mirror # 下载
tar -zxvf mirror # 解压
cd mirror # 进入
然后配置
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-openssl --with-mysqli=mysqlnd --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-mbstring --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc/php.ini --with-config-file-scan-dir=/etc/php.d --with-bz2##### 参数说明
--prefix 指明安装路径
--with-mysql 指明依赖的mysql的路径,5.3后可不安装mysql,使用参数mysqlnd
--with-openssl 指明依赖的openssl,用于支持ssl通信
--with-mysqli 指明依赖的mysqli,mysqli是mysql的另外一个访问接口
--with-freetype-dir 用于支持显示的字体,可能会要安装freetype-devel
--with-png-dir 用于显示支持png格式的图片
--with-jpeg-dir 用于显示支持jpeg格式的图片
--enable-mbstring 用于让mysql支持中文
--with-zlib 用于支持压缩功能
--with-libxml 用于分析xml格式
--enable-xml 表示支持xml
--enable-sockets 表示支持以sockets方式进行通信
--with-apxs2 指明apxs文件的路径,apxs文件作用是第三方模块可以借助该文件与httpd建立关联关系相当于一个衔接器的作用,如果使用fpm模式,需要去掉
--enable-fpm 如果httpd与php结合的方式为php-fpm,则需要将--with-apxs2=/usr/local/apache24/bin/apxs去掉,然后启用--enable-fpm选项
--with-mcrypt 表示支持加密库
--with-config-file-path=/etc 表示配置文件的存放路径
--with-config-file-scan-dir=/etc/php.d 表示还要扫描哪个目录下的.ini结尾的文件作为配置文件的组成部分
--with-bz2 表示支持bz2压缩
--enable-maintainer-zts 当启用的MPM为worker或event时,需要启动该选项,因为此处我们是以prefork的MPM,所以不用此项
--with 之类的选项,会到对应依赖的文件的默认安装路径下去寻找,如果程序不是安装在默认路径下,则需要用=等号指定位置,如果没有安装对应程序,则需要手动安装,一般编译时用到的程序是程序的devel包
最后编译安装
make && make install
3.添加相关配置文件
#配置文件
# cp php.ini-development /etc/php.ini#php-fpm 服务,并设为开机启动
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php//etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm# chkconfig --add php-fpm
# chkconfig on php-fpm
# service php-fpm start
1、php
(1)命令位置:/usr/local/php/bin/php
(2)配置文件位置:/etc/php.ini2、php-fpm
(1)命令位置:/usr/local/php/sbin/php-fpm
(2)配置文件位置:/usr/local/php/etc/php-fpm.conf
修改环境变量
# vim /etc/profile
PATH=$PATH:/usr/local/php/bin
export PATH
# source /etc/profile
修改nginx配置文件
#php脚本请求全部转发给FastCGI处理location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}