ps -ef grep nginx
ps -ef grep mysql
yum install gcc gcc-c++ make zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y
发现yum仓库默认缺少一个libiconv-devel软件包,因此我们可以手动下载,自行编译安装该软件
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar -zxvf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/mytools/libiconv
make && make install
echo $? #在执行上一条shell语句结束后,打印$?可以检查上一次的命令是否正确,输出为0即表示正确
1.下载php源代码
wget https://www.php.net/distributions/php-7.3.5.tar.gz
2.解压缩php源代码,准备编译安装
tar -zxvf php-7.3.5.tar.gz
准备编译环境,指定安装路径,开启额外的功能等等
在/mytools/php-7.3.5下执行
./configure --prefix=/mytools/php7.3.5 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/mytools/libiconv \
--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-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no
3.系统环境检查完毕后,准备开始编译且安装
make && make install
默认的php配置文件模板,在解压php源码的目录下
[root@web02 php-7.3.5]# pwd
/mytools/php-7.3.5
1.查看php的配置文件
[root@web02 php-7.3.5]# ls php.ini*
php.ini-development php.ini-production
#比较一下php的生产配置文件,和开发模式配置文件的区别
[root@web02 php-7.3.5]# vimdiff php.ini-development php.ini-production
2.拷贝该配置文件,放入到php的编译安装目录下
[root@web02 php-7.3.5]# cp php.ini-development /mytools/php7.3.5/lib/php.ini
1.检查fastcgi的默认配置文件
[root@web02 etc]# pwd
/mytools/php7.3.5/etc
[root@web02 etc]# ls
pear.conf php-fpm.conf.default php-fpm.d
2.拷贝模板配置文件,生成新的php配置文件
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d
cp www.conf.default www.conf
[root@web02 etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php-fpm.d
用绝对路径命令,启动php进程
/mytools/php7.3.5/sbin/php-fpm
#启动php后,检查端口和进程信息
[root@iZt4n9649a5hnayu7zbf5rZ sbin]# /mytools/php7.3.5/sbin/php-fpm
[root@iZt4n9649a5hnayu7zbf5rZ sbin]# netstat -tunlp|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 16424/php-fpm: mast
[root@iZt4n9649a5hnayu7zbf5rZ sbin]# ps -ef|grep php
root 1036 1 0 Apr19 ? 00:00:07 php-fpm: master process (/www/server/php/74/etc/php-fpm.conf)
www 1037 1036 0 Apr19 ? 00:00:00 php-fpm: pool www
www 1038 1036 0 Apr19 ? 00:00:00 php-fpm: pool www
www 1039 1036 0 Apr19 ? 00:00:00 php-fpm: pool www
www 1040 1036 0 Apr19 ? 00:00:00 php-fpm: pool www
www 1052 1036 0 Apr19 ? 00:00:00 php-fpm: pool www
www 2301 1036 0 Apr19 ? 00:00:00 php-fpm: pool www
root 16424 1 0 02:46 ? 00:00:00 php-fpm: master process (/mytools/php7.3.5/etc/php-fpm.conf)
nginx 16425 16424 0 02:46 ? 00:00:00 php-fpm: pool www
nginx 16426 16424 0 02:46 ? 00:00:00 php-fpm: pool www
root 16521 32505 0 02:47 pts/1 00:00:00 grep --color=auto php
