ubuntu编译安装php7.4.33

819 阅读1分钟

安装相关库

apt install gcc make openssl curl libssl-dev libxml2-dev libzip-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libwebp-dev libsqlite3-dev libfreetype6-dev libonig-dev

下载解压

cd /usr/local/src
wget -c https://www.php.net/distributions/php-7.4.33.tar.gz
tar -zxf php-7.4.33.tar.gz
cd php-7.4.33

编译配置

./buildconf --force
./configure \
--prefix=/usr/local/php \
--exec-prefix=/usr/local/php \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/tmp/mysql.sock \
--enable-gd \
--with-jpeg \
--with-freetype \
--with-zlib \
--with-iconv \
--enable-bcmath \
--enable-shmop \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--enable-opcache \
--enable-pcntl \
--enable-sockets \
--with-mhash \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-xmlrpc \
--with-zip \
--with-pear \
--with-curl

编译安装

make
make install

配置文件

# 查看配置文件路径
/usr/local/php/bin/php --ini

Configuration File (php.ini) Path: /usr/local/php/lib

# 复制配置文件
cp php.ini-production /usr/local/php/lib/php.ini

php.ini

expose_php = Off

error_reporting = E_ALL & ~E_NOTICE

error_log = /data/logs/php/php_errors.log

date.timezone = PRC

错误日志

mkdir -p /data/logs/php
touch /data/logs/php/php_errors.log
chown nginx:nginx /data/logs/php/php_errors.log

php-fpm

一、创建日志目录

mkdir -p /data/logs/php-fpm

二、php-fpm.conf

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
① 去掉;pid = run/php-fpm.pid  前面的分号,使之生效

② 设置错误日志路径

error_log = /data/logs/php-fpm/php-fpm.log

三、www.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
;设置用户和用户组
user = nginx
group = nginx

;设置监听
;listen = 127.0.0.1:9000
listen = /dev/shm/php-fpm.sock

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

;进程相关,这个得根据硬件情况来设置
pm.max_children = 100
pm.start_servers = 50
pm.min_spare_servers = 40
pm.max_spare_servers = 60

;开启慢日志
slowlog = /data/logs/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s

;开启抓去php的错误输出
catch_workers_output = yes

四、启动和开机自启动

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 0744 /etc/init.d/php-fpm

#启动
service php-fpm start

#停止
service php-fpm stop

#重启
service php-fpm restart

#运行状态
service php-fpm status
vim /etc/rc.local

在exit 0前面添加如下命令

# php-fpm
/etc/init.d/php-fpm start