使用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...