源码安装php7.4
下载地址:
1、安装wget工具:
yum install -y wget
2、安装PHP依赖包
yum install gcc 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
3、获取php7.4源码包并安装
wget https://www.php.net/distributions/php-7.4.8.tar.gz
tar -xzf php-7.4.8.tar.gz
cd php-7.4.8
预编译:
./configure '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--with-mysqli' '--with-pdo-mysql' '--with-iconv-dir' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' --disable-mbregex '--enable-ftp' '--with-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--without-pear' '--with-gettext' '--disable-fileinfo' '--enable-maintainer-zts'
如编译报错:No package 'oniguruma' found :
解决方法1:
yum install http://rpms.remirepo.net/enterprise/7/remi/x86_64//oniguruma5-6.9.4-1.el7.remi.x86_64.rpm
yum install http://rpms.remirepo.net/enterprise/7/remi/x86_64//oniguruma5-devel-6.9.4-1.el7.remi.x86_64.rpm
解决方法2:
“--enable-mbstring”后再添加“--disable-mbregex”参数。这样的配置将不再需要oniguruma库。
编译:
make
安装:
make install
4、编译完成之后,我们添加PHP命令到环境变量里
vim /etc/profile
在文件末尾加入:
PATH=$PATH:/usr/local/php/bin
export PATH
要使改动立即生效执行
source /etc/profile
查看PHP 版本
php -v
cp php.ini-production /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/src/php-7.4.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
php-fpm.conf是php服务程序重要的配置文件之一,我们需要启用该配置文件中第25行左右的pid文件保存目录,然后分别将第148和149行的user与group参数分别修改为www账户和用户组名称:
vim /usr/local/php/etc/php-fpm.conf
25 pid = run/php-fpm.pid
………………省略部分输出信息………………
148 user = www
149 group = www
………………省略部分输出信息………………
cp /usr/local/php/etc/php-fpm.d/www.conf.default www.conf
/etc/init.d/php-fpm start