下载地址:www.php.net
编译安装
[root@linux2019 php-7.3.1]# wget http://cn2.php.net/distributions/php-7.3.1.tar.bz2
[root@linux2019 php-7.3.1]# tar jxvf php-7.3.1.tar.bz2
tar (child): bzip2:无法 exec: 没有那个文件或目录
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
[root@linux2019 php-7.3.1]# yum install -y bzip2
[root@linux2019 php-7.3.1]# cd php-7.3.1
[root@linux2019 php-7.3.1]# ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
[root@linux2019 php-7.3.1]# make
[root@linux2019 php-7.3.1]# make install
一般情况下安装步骤可以参考解压后php目录下的INSTALL文档
编译参数说明:
- –prefix #指定安装路径
- –with-config-file-path #指定fpm配置文件路径
- –enable-fpm #开启fpm功能(必要通信模块)
- –with-fpm-user #指定fpm用户
- –with-fpm-group #指定fpm用户组
- –with-mysql=/usr/local/mysql #关联旧版本mysql
- –with-mysqli=/usr/local/mysql/bin/mysql_config #关联新版本mysql
- –with-pdo-mysql=/usr/local/mysql #关联mysql
- –with-mysql-sock #指定mysql的socket连接
编译错误1:
checking for cc… no
checking for gcc… no
解决: yum install -y gcc
编译错误2:
error: libxml2 not found #缺少软件包
解决:yum install -y libxml2-devel
ps:后缀为devel的为开发包,
[root@linux2019 php-7.3.1]# yum list |grep -i libxml2
#-i :忽略大小写
libxml2.x86_64 2.9.1-6.el7_2.3 @anaconda
libxml2-python.x86_64 2.9.1-6.el7_2.3 @base
libxml2.i686 2.9.1-6.el7_2.3 base
libxml2-devel.i686 2.9.1-6.el7_2.3 base
libxml2-devel.x86_64 2.9.1-6.el7_2.3 base
libxml2-static.i686 2.9.1-6.el7_2.3 base
libxml2-static.x86_64 2.9.1-6.el7_2.3 base
mingw32-libxml2.noarch 2.9.3-1.el7 epel
mingw32-libxml2-static.noarch 2.9.3-1.el7 epel
mingw64-libxml2.noarch 2.9.3-1.el7 epel
mingw64-libxml2-static.noarch 2.9.3-1.el7 epel
编译错误3:
error: Cannot find OpenSSL’s
解决:yum install -y openssl-devel
编译错误4:
error: cURL version 7.15.5 or later is required
解决:yum install -y libcurl-devel
编译错误5:
configure: error: jpeglib.h not found
解决:yum install -y libjpeg-turbo-devel
编译错误6:
configure: error: png.h not found
解决:yum install -y libpng-devel
编译错误7:
configure: error: freetype-config not found.
解决: yum install -y freetype-devel
编译错误8:
configure: error: wrong mysql library version or lib not found
解决:下载一个低版本的MySQL/Mariadb
- wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
- tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
- mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql5.6
- 修改编译参数重新编译:
–with-mysql=/usr/local/mysql5.6
–with-mysqli=/usr/local/mysql5.6/bin/mysql_config
–with-pdo-mysql=/usr/local/mysql5.6
编译错误9:
ERROR: [pool www] cannot get uid for user ‘php-fpm’ #启动php-fpm服务出现
解决:useradd php-fpm
修改配置文件
[root@linux2019 php-7.3.1]# cd /usr/local/php-fpm/etc
[root@linux2019 etc]# cp php-fpm.conf.default php-fpm.conf
[root@linux2019 etc]# d /usr/local/src/php-7.3.0
[root@linux2019 php-7.3.1]# cp php.ini-development /usr/local/php-fpm/etc/php.ini #php.ini-development(测试使用),php.ini-production(生产使用)
[root@linux2019 php-7.3.1]# cd /usr/local/php-fpm/etc/php-fpm.d/
[root@linux2019 php-fpm.d]# cp www.conf.default www.conf
配置启动脚本
[root@linux2019 etc]# cd /usr/local/src/php-7.3.1
[root@linux2019 php-7.3.1]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@linux2019 php-7.3.1]# chkconfig --add php-fpm
[root@linux2019 php-7.3.1]# chkconfig php-fpm on
[root@linux2019 php-7.3.1]# chmod 755 /etc/init.d/php-fpm
[root@linux2019 php-7.3.1]# useradd php-fpm
[root@linux2019 php-7.3.1]# service php-fpm start
PS
- diff命令:查看两个文件的差异
- vi编辑器快捷方式:
- u:撤销
- crel r反撤销
- dd:剪切当前行
- ndd:剪切n行
- yy:复制当前行
- nyy:复制n行
- p:黏贴
- set nu:显示行号
- 5G:定位到第5行
- gg:移动到文档第一行
- G:移动到文档最后一行
- 0:移动到当前行的第一个字符
- $:移动到当前行的最后一个字符
- o:向下新增一行
- O:向上新增一行