安装依赖
apt install build-essential autoconf automake libtool libsqlite3-dev pkg-config libjpeg-dev libpng-dev libxml2-dev libbz2-dev libcurl4-gnutls-dev libssl-dev libffi-dev libwebp-dev libonig-dev libzip-dev
下载和解压
wget https://www.php.net/distributions/php-8.2.25.tar.gz &&tar -zxf php-8.2.25.tar.gz && cd php-8.2.25
生成构建文件
./configure --prefix=/usr/local/php --sysconfdir=/etc/php --enable-fpm --with-pdo-mysql --with-pcre-jit
编译和安装
make && make install
创建用户
groupadd www && useradd -g www -s /sbin/nologin www
配置文件
cp ./php.ini-development /usr/local/php/lib/php.ini
cp /etc/php/php-fpm.conf.default /etc/php/php-fpm.conf
cp /etc/php/php-fpm.d/www.conf.default /etc/php/php-fpm.d/www.conf
添加系统变量
在 /etc/profile
末尾添加一下内容
export PATH=$PATH:/usr/local/php/bin
生效配置
source /etc/profile
修改运行用户
修改 /etc/php/php-fpm.d/www.conf
修改 user
和group
为以下内容
www
开启启动
创建这个文件 /usr/lib/systemd/system/php-fpm.service
添加一下内容
[Unit]
Description=php-fpm
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务
systemctl start php-fpm && systemctl enable php-fpm && systemctl status php-fpm
优化
opencache 在 php.ini
开启以下选项
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.validate_timestamps=0
开启 opcache.file_cache
并设置为/tmp
jit 在 php.ini
开启以下选项
pcre.jit=1
问题解决
No input file specified.
删除宝塔的 .user.ini
文件
正文完