Linux编译安装PHP7.4.24及启动

1. 下载安装包PHP安装包

  • 点此进入官网选择对应安装包 php-7.4.24.tar.gz
    在这里插入图片描述

  • 将安装包上传至服务器自定义目录,如/usr/local/

  • 解压安装包 tar -zxvf php-7.4.24.tar.gz
    在这里插入图片描述

2. 配置安装包

2.1 先安装前置插件,不管有没有都安装一下

yum install gcc-c++ 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 gd sqlite sqlite-devel net-snmp net-snmp-devel oniguruma oniguruma-devel

2.2 配置php

  • 进入解压后的目录
cd php-7.4.24
  • 执行php的配置命令如下:
./configure --prefix=/usr/local/php \ # php的安装路径
--with-config-file-path=/usr/local/php/etc \
--with-mysqli=mysqlnd \
--enable-pdo \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/ \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-pcre-regex \
--with-zlib \
--with-bz2 \
--enable-calendar \
--disable-phar \
--with-curl \
--enable-dba \
--with-libxml-dir \
--enable-ftp \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-jis-conv \
--with-mhash \
--enable-mbstring \
--disable-opcache \
--enable-pcntl \
--enable-xml \
--disable-rpath \
--enable-shmop \
--enable-sockets \
--enable-zip \
--enable-bcmath \
--with-snmp \
--disable-ipv6 \
--with-gettext \
--disable-rpath \
--disable-debug \
--enable-embedded-mysqli \
--with-mysql-sock=/usr/local/mysql \
--with-apxs2=/usr/bin/apxs

2.3 执行配置命令可能会出现如下错误

  • 问题一
    在这里插入图片描述
    解决办法:
git clone https://github.com/kkos/oniguruma

cd oniguruma

./configure --prefix=/usr --libdir=/lib64

make && make install

  • 问题二
Sorry, I cannot run apxs.  Possible reasons follow:1. Perl is not installed
 
​2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
 
​3. Apache was not built using --enable-so (the apxs usage page is displayed)The output of /usr/local/apache/bin/apxs follows:./configure: line 6669: /usr/local/apache/b
in/apxs: No such file or directoryconfigure: error: Aborting

解决办法:

yum install -y perl* 
 
​yum install -y httpd-devel

2.4 运行php的配置命令出现如下示例,即为配置成功

在这里插入图片描述

3编译安装包

3.1 执行编译命令(可能要花一点时间)

make && make install
  • 如下图即为编译成功,编译后的文件在./configure --prefix=/usr/local/php \ # php的安装路径
    在这里插入图片描述

3.2 在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:

cp php.ini-production /usr/local/php/php.ini
  • [可选项] 设置让PHP错误信息打印在页面上
display_errors = On
  • 将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。
vim /usr/local/php/php.ini
#定位到 cgi.fix_pathinfo= 并将其修改为如下所示:
cgi.fix_pathinfo=0

3.2 修改配置文件

  • 进入安装后的目录
cd /usr/local/php/etc/
#修改当前目录下的配置文件php-fpm.conf.default为 php-fpm.conf

cp php-fpm.conf.default php-fpm.conf
#编辑一下php-fpm.conf
vim php-fpm.conf

pid = run/php-fpm.pid
user = www
group = www

#在进入php-fpm.d 目录下 
cd php-fpm.d

#修改当前目录下的配置文件 www.conf.default为  www.conf
cp www.conf.default www.conf

3.3 新建用户组及用户

groupadd www

useradd -g www www

4. 启动停止php-fpm

4.1 启动

/usr/local/php/sbin/php-fpm

没有任何的输出,表示成功了!!!

php-fpm占用的是9000端口,我们查看下进程:

ps -ef|grep php-fpm

在这里插入图片描述
查看端口:

netstat -tnl | grep 9000

在这里插入图片描述
说明php启动成功

4.2 停止php

我们在新安装扩展后,是需要重新php-fpm的,已使扩展生效。

最简单粗暴的重新php-fpm的方式是:

先找到php-fpm的进程号,kill 掉,再用/usr/local/php/sbin/php-fpm 这样启动。

其实还有更多温和的方法,就是使用信号。

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

示例

php-fpm 关闭:

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重启:

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

参考

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值