[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] 源碼編譯安裝opcache

[PHP] php8的jit不支持32位系統WARNING: JIT not supported by host architecture

查看使用的哪一個配置文件

[PHP] 查找使用的哪個配置文件php.ini

 

PHP8的JIT機制優化了zend引擎處理執行opcode的流程 , 不需要每次都解釋執行 , 直接執行opcode編譯成的機器碼

[轉載] PHP 8新特性之JIT簡介

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM