在昨天(2020-7-16)时某群群友问编译了PHP7.3再编译7.4会比较快吗?而突发奇想体验一下PHP8看看。
本来准备直接用包管理器安装的,可是常用的remi源没有找到PHP8最后只好编译安装了。
一、下载并解压
wget https://downloads.php.net/~carusogabriel/php-8.0.0alpha2.tar.gz
tar -zxvf php-8.0.0alpha2.tar.gz
cd php-8.0.0alpha2
二、编译
./configure --prefix=/usr/local/php8 \
--with-config-file-path=/usr/local/php8 \
--enable-mbstring \
--enable-ftp \
--enable-gd \
--enable-gd-jis-conv \
--enable-mysqlnd \
--enable-pdo \
--enable-sockets \
--enable-fpm \
--enable-xml \
--enable-soap \
--enable-pcntl \
--enable-cli \
--with-openssl \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pear \
--with-zlib \
--with-iconv \
--with-curl
make && make install
(之前已经安装过相关编译工具包了。)
三、一些微小的工作
复制配置文件:
cp php.ini-production /usr/local/php8/php.ini
打开错误:
vim /usr/local/php8/php.ini
display_errors = On
复制fpm的启动脚本:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm8.0
增加执行权限
chmod +x /etc/init.d/php-fpm8.0
复制php-fpm配置文件:
cd /usr/local/php8/etc
cp php-fpm.conf.default php-fpm.conf
修改php-fpm配置文件,去掉pid = run/php-fpm.pid前面的分号,因为本次是Nginx+PHP-FPM模式。
修改/usr/local/php8/etc/php-fpm.d/文件夹下的配置文件,可以修改默认的www.conf.default复制或者重命名为.conf结尾的文件,同时修改启动用户和监听端口。
修改启动用户:
user = www
group = www
修改监听端口:
listen = 127.0.0.1:9000
启动fpm
/etc/init.d/php-fpm8.0 start
四、配置Nginx
由于我前期是安装了aaPanel面板,在新增网站时还没有PHP8可以选择于是就选择了纯静态网站,然后再手动修改相关配置文件。
增加一个:
location ~ \.php {
fastcgi_pass 127.0.0.1:9080;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_split_path_info ^(.+\.php)(/.*)$;
# fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
五、参考
[PHP] 最新抢先编译安装PHP8.0.0 alph1以及FPM
https://www.cnblogs.com/taoshihan/p/13196217.html
下载PHP
https://downloads.php.net/~carusogabriel/
六、
至于后面是Alpha还是RC的哪个版本对应的下载链接都要自己去修改了,本次是下载Alpha 2版本。
不知道是错觉还是数据量还是服务器的问题,安装了WordPress 5.4.2明显比较快,虽然在“写文章”时会出现Warning: Only the first byte will be assigned to the string offset in /www/wwwroot/www.cyzwb.com/wp-includes/class.wp-scripts.php on line 492的错误。
评论也有问题Warning: get_comment(): Argument #1 ($comment) must be passed by reference, value given in /www/wwwroot/php8.147180.com/wp-includes/class-wp-comment-query.php on line 484
又是那台还有几天就到期的服务器无法留下链接了,phpinfo的截图还是可以贴一张的,虽然没有什么用处。
ChiuYut
2020年7月17日