php8 0 編譯安裝以及開啟 JIT

2021-10-10 22:13:32 字數 3261 閱讀 5086

使用centos7.5作為環境

安裝相關依賴

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libxpm-devel libx11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel
解壓

tar xf php-8.0.0.tar.gz

指定配置 生成預編譯檔案 makefile

cd php-8.0.0

# 生成 makefile

./configure \

--prefix=/usr/local/php8 \

--with-config-file-path=/usr/local/php8/etc \

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

--with-curl \

--with-freetype-dir \

--enable-gd \

--with-gettext \

--with-iconv-dir \

--with-kerberos \

--with-libdir=lib64 \

--with-libxml-dir \

--with-mysqli \

--with-openssl \

--with-pcre-regex \

--with-pdo-mysql \

--with-pdo-sqlite \

--with-pear \

--with-png-dir \

--with-jpeg-dir \

--with-xmlrpc \

--with-xsl \

--with-zlib \

--with-bz2 \

--with-mhash \

--enable-bcmath \

--enable-libxml \

--enable-inline-optimization \

--enable-mbregex \

--enable-mbstring \

--enable-opcache \

--enable-pcntl \

--enable-shmop \

--enable-soap \

--enable-sockets \

--enable-sysvsem \

--enable-sysvshm \

--enable-xml \

--enable-zip

可能會出現錯誤

編譯安裝

make && make install

安裝成功執行/usr/local/php8/bin/php -v

配置檔案

cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf

cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf

php-fpm

複製 php-fpm 的啟動指令碼

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

增加執行許可權

chmod +x /etc/init.d/php-fpm

啟動 php-fpm

/etc/init.d/php-fpm start或者service php-fpm start

開啟 opcache 和 jit

opcache配置引數參考:

jit配置引數參考:

zend_extension=/usr/local/php8/lib/php/extensions/no-debug-non-zts-20200930/opcache.so 

[opcache]

opcache.enable=1

opcache.enable_cli=1

opcache.memory_consumption=192

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000

opcache.jit=1205

opcache.jit_buffer_size=64m

配置 nginx 虛擬主機

server 

}

/usr/local/nginx/html目錄下建立 index.php 並寫入phpinfo()瀏覽器訪問 127.0.0.1:8082 返回結果:

php.ini 中 jit 配置資訊

增加全域性 php 環境變數

PHP8 0的新特性

php 8.0 是 php 語言的乙個主版本更新。它包含了很多新功能與優化項,包括命名引數 聯合型別 註解 構造器屬性提公升 match 表示式 nullsafe 運算子 jit,並改進了型別系統 錯誤處理 語法一致性。php 7htmlspecialchars string ent compat ...

PHP 8 0 帶來的新特性

php 8.0 是php語言的一次主版本更新。它包含很多新特性及優化,包括具名引數 聯合型別 註解 建構函式屬性提公升 match表示式 空指標安全運算子 jit,以及型別系統 錯誤處理和一致性方面的改進。php 8 引入了兩套jit編譯引擎 htmlspecialchars string,ent ...

php編譯安裝以及遇到的問題

關於linux安裝php編譯的一些問題解決,原作者部落格很好 安裝完mysql以及一些擴充套件庫後,方可開始安裝php。安裝php依賴庫 寫道 yum install y gcc gcc c make zlib zlib devel pcre pcre devel libjpeg libjpeg d...