[PHP] 最新抢先编译安装PHP8.0.0 alph1以及FPM
(麻烦各位转载请注明出处和地址:陶士涵的菜地 , 谢谢 --2020年6月28日)
所有操作需要在root用户下
本机测试案例系统信息:ubuntu
安装路径:/usr/local/php8
解压缩:
wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
tar -zxvf php-8.0.0alpha1.tar.gz
cd php-8.0.0alpha1/
编译:
./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
vim php-fpm.conf
去掉 pid = run/php-fpm.pid 前面的分号
修改启动用户:
user = www-data
group = www-data
修改监听端口:
listen = 127.0.0.1:9080
配置nginx:
server { listen 80; server_name test.sopans.com; access_log /var/log/nginx/test.sopans.com.access.log main; root /var/www/html/test; index index.html index.htm index.php; 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; } }
启动fpm
/etc/init.d/php-fpm8.0 start
访问:
因为jit是绑定在opcache扩展里面的 , 所以需要编译安装opcache扩展
[PHP] php8的jit不支持32位系统WARNING: JIT not supported by host architecture
查看使用的哪一个配置文件
PHP8的JIT机制优化了zend引擎处理执行opcode的流程 , 不需要每次都解释执行 , 直接执行opcode编译成的机器码