在昨天(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
结尾的文件,同时修改启动用户和监听端口。
修改启动用户: [code] 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日