PHP 8 ?? 1? 6? 25?? ?????, PHP 8 ?? 2? 7? 9?? ???????. ????? ?? 2? ?? ?? ??? ????? ?? ?? ??? ?????.
?? ??? ???????:
JIT? ??? ??
php?-d?opcache.jit_buffer_size=0?Zend/bench.php simple?????????????0.025simplecall?????????0.012simpleucall????????0.012simpleudcall???????0.012mandel?????????????0.135mandel2????????????0.211ackermann(7)???????0.082ary(50000)?????????0.012ary2(50000)????????0.010ary3(2000)?????????0.186fibo(30)???????????0.283hash1(50000)???????0.039hash2(500)?????????0.041heapsort(20000)????0.089matrix(20)?????????0.110nestedloop(12)?????0.096sieve(30)??????????0.045strcat(200000)?????0.019------------------------ Total??????????????1.419
JIT? ?? ??:
php?-d?-d?opcache.jit_buffer_size=64M?-d?opcache.jit=1205?Zend/bench.php simple?????????????0.001simplecall?????????0.000simpleucall????????0.000simpleudcall???????0.000mandel?????????????0.005mandel2????????????0.006ackermann(7)???????0.010ary(50000)?????????0.005ary2(50000)????????0.004ary3(2000)?????????0.011fibo(30)???????????0.027hash1(50000)???????0.027hash2(500)?????????0.018heapsort(20000)????0.011matrix(20)?????????0.011nestedloop(12)?????0.006sieve(30)??????????0.004strcat(200000)?????0.009------------------------ Total??????????????0.155
??? Opcache? ??? ??:
php?Zend/bench.php simple?????????????0.051simplecall?????????0.017simpleucall????????0.083simpleudcall???????0.089mandel?????????????0.506mandel2????????????0.409ackermann(7)???????0.095ary(50000)?????????0.012ary2(50000)????????0.010ary3(2000)?????????0.187fibo(30)???????????0.367hash1(50000)???????0.040hash2(500)?????????0.041heapsort(20000)????0.097matrix(20)?????????0.122nestedloop(12)?????0.093sieve(30)??????????0.063strcat(200000)?????0.018------------------------ Total??????????????2.299
Opcache? ??? ??: 2.299s Opcache? ??????? JIT? ????? ?? ??: 1.419s Opcache? ?? JIT? ? ??: 0.155s
JIT? ? ?? JIT? ? ???? 9.15?? ?????. ?? ? ???? ?? ? ???? 8??? 10? ??? ??????.
MPF? ??? ??????
????? ?? ????? ?? mpf ?????
environment
aliyun centos 6.9
php7.test.com php-fpm ?????? ???????. php8.test.com php-fpm ??? ????
Mpf ? ?? ?????
/v1/hello/wzh/index1
public?function?index1()?{????$this->output('123'); }
/v1/hello/wzh/index2
public?function?index2()?{ ????$a?=?0;????for?($i?=?0;?$i?< 1000000; $i++) $a++; $this->output($a); }
???? ???
php7 ?? ??? ??
wrk?-c36?-d?5s?-t12?https://php7.test.com/v1/hello/wzh/index1 Running?5s?test?@?https://php7.test.com/v1/hello/wzh/index1 ??12?threads?and?36?connections ??Thread?Stats???Avg??????Stdev?????Max???+/-?Stdev ????Latency???432.97ms???76.00ms?527.38ms???92.17% ????Req/Sec?????8.38??????5.36????20.00?????63.85% ??396?requests?in?5.09s,?121.43KB?readRequests/sec:?????77.78 Transfer/sec:?????23.85KB
php7 ? ?? ??
wrk?-c36?-d?5s?-t12?https://php7.test.com/v1/hello/wzh/index2 Running?5s?test?@?https://php7.test.com/v1/hello/wzh/index2 ??12?threads?and?36?connections ??Thread?Stats???Avg??????Stdev?????Max???+/-?Stdev ????Latency?????1.02s???569.99ms???1.96s????57.14% ????Req/Sec?????3.18??????3.43????10.00?????80.88% ??70?requests?in?5.03s,?21.60KB?read ??Socket?errors:?connect?0,?read?0,?write?0,?timeout?42 Requests/sec:?????13.91 Transfer/sec:??????4.29KB
php8 JIT? ? ?? ??? ??????
wrk?-c36?-d?5s?-t12?https://php8.test.com/v1/hello/wzh/index1 Running?5s?test?@?https://php8.test.com/v1/hello/wzh/index1 ??12?threads?and?36?connections ??Thread?Stats???Avg??????Stdev?????Max???+/-?Stdev ????Latency????34.48ms????4.34ms??95.45ms???87.87% ????Req/Sec????84.61?????13.36???121.00?????85.28% ??5083?requests?in?5.03s,?1.67MB?readRequests/sec:???1010.55 Transfer/sec:????340.43KB
php8 JIT? ? ?? ??? ??????
wrk?-c36?-d?5s?-t12?https://php8.test.com/v1/hello/wzh/index2 Running?5s?test?@?https://php8.test.com/v1/hello/wzh/index2 ??12?threads?and?36?connections ??Thread?Stats???Avg??????Stdev?????Max???+/-?Stdev ????Latency????97.84ms????4.97ms?159.50ms???92.12% ????Req/Sec????30.27??????4.42????50.00?????86.50% ??1814?requests?in?5.07s,?614.71KB?readRequests/sec:????357.76 Transfer/sec:????121.23KB
php8 JIT? ? ?? ??? ???????
wrk?-c36?-d?5s?-t12?https://php8.test.com/v1/hello/wzh/index1 Running?5s?test?@?https://php8.test.com/v1/hello/wzh/index1 ??12?threads?and?36?connections ??Thread?Stats???Avg??????Stdev?????Max???+/-?Stdev ????Latency????38.10ms????6.47ms?239.60ms???94.01% ????Req/Sec????77.50?????12.76???110.00?????89.63% ??4622?requests?in?5.04s,?1.52MB?readRequests/sec:????916.22 Transfer/sec:????308.65KB
php8 JIT? ?? ??? ???????
wrk?-c36?-d?5s?-t12?https://php8.test.com/v1/hello/wzh/index2 Running?5s?test?@?https://php8.test.com/v1/hello/wzh/index2 ??12?threads?and?36?connections ??Thread?Stats???Avg??????Stdev?????Max???+/-?Stdev ????Latency???766.16ms??181.30ms?887.08ms???88.37% ????Req/Sec?????6.25??????5.36????20.00?????91.36% ??215?requests?in?5.09s,?72.86KB?readRequests/sec:?????42.22 Transfer/sec:?????14.31KB
[image:BA1A37D 8 -760E -4637-901B-3E3521F969E7-4107-0000191504DD1B2E/86D37899-3B46-4BDA-B396-E5C8DD51068E.png]

8JIT? 13
倍,而且計算越多優(yōu)化越明顯,計算多情況下php8JIT是php7性能的25.7
php7 ??? 2?.
??? ?? ???? ??? ??? ?? ????. PHP8?? JIT ?? ??? ??? ???? ?? ?? ???, ??? ??? ??? ?? ? ????, ?? ? ??? ?? ?? ? ?????? ??????. ??? ??? ???? ???? ????. ??? ???? ??????
??? ????
??: PHP ?? ???? ?? ? ?????? ????. ????? ? 2??? ???, ??? ? ?? ?? ??? ??? ? ??? ??? ???????
??.
aliyun centos 6.9, ?? ??? ?? ? ??? ?????.
php ?? ?? ???
wget?https://downloads.php.net/~carusogabriel/php-8.0.0alpha2.tar.gz tar?-zxf?php-8.0.0alpha2.tar.gzcd?php-8.0.0alpha2 ./configure?--prefix=/yourdir/php8?--with-config-file-path=/yourdir/php8/etc?--enable-mysqlnd?--with-mysqli=mysqlnd?--with-pdo-mysql=mysqlnd?--enable-fpm?--enable-static?--enable-sockets?--with-zip?--enable-calendar?--enable-bcmath?--enable-mbstring?--with-zlib?--with-iconv=/usr/local/libiconv?--enable-gd?--enable-mbstring?--with-freetype?--with-mysql-sock=/tmp/mysql.sock?--disable-ipv6?--enable-debug?--with-openssl?--enable-opcache復(fù)制代碼
??? ????? makefile ??? ?????. ??? ??? ?
make?-j?8 make?install cp?php.ini-production?/yourdir/php8/etc/php.ini
configure php.ini
opcache? ?? ??? ??? ???. ini ?? JIT? ??? Opcache? ??????.
zend_extension=opcache.so opcache.enable=1 ;?命令行測試的話這里一定要打開 opcache.enable_cli=1 opcache.memory_consumption=512 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.validate_timestamps=1 opcache.revalidate_freq=300 opcache.fast_shutdown=1 opcache.enable_file_override?=?1 opcache.blacklist_filename?=?/etc/php.d/opcache.blacklist ;?這里就是新的jit的配置 opcache.jit=1205 opcache.jit_buffer_size=64M
Configure failure ???
??? ./configure failure
?? 1
No?package?'sqlite3'?found
Solution
wget?https://www.sqlite.org/2020/sqlite-autoconf-3320300.tar.gz tar?-zxf?sqlite-autoconf-3320300.tar.gzcd?sqlite-autoconf-3320300 ./configure?--prefix=/usr/local/lib/sqlite-3.32.0 make?CFLAGS="-g?-O2?-DSQLITE_ENABLE_COLUMN_METADATA"make?installexport?PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/sqlite-3.32.0/lib/pkgconfig"復(fù)制代碼
Note
? ??? ?? ???? ???? ????. yum Warehouse? ??? ?? ????.
yum?install?sqlite-devel
?? 2
configure:?error:?Please?reinstall?the?iconv?library.
Solution
wget?http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar?-zxf?libiconv-1.14.tar.gzcd?libiconv-1.14 ./configure? make? make?install
?? 3
No?package?'oniguruma'?found
????? yum? ???? ????. ??? ?? ????.
yum?install?oniguruma-devel
Solution
wget?https://github.com/kkos/oniguruma/archive/v6.9.5_rev1.tar.gz tar?-zxf?v6.9.5_rev1.tar.gzcd?oniguruma-6.9.5_rev1/? autoreconf?-vfi ./configure?--prefix=/usr/local/lib/oniguruma-6.9.5 make? make?installexport?PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/oniguruma-6.9.5/lib/pkgconfig"
4? ??
No?package?'libzip'?found
Solution
wget?https://libzip.org/download/libzip-1.7.2.tar.gz tar?-zxf?libzip-1.7.2.tar.gzcd?libzip-1.7.2 cmake3?-DCMAKE_INSTALL_PREFIX=/usr/local/lib/libzip-1.7.2 make? make?installexport?PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/libzip-1.7.2/lib/pkgconfig"復(fù)制代碼
PHP 8? JIT? ?????!
? ??? ???? ?????! PHP8 ??? ????~? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

php8? mysql ??? ???? ??? ??? ????. 1. MySQL ????? ?????? ?????. 2. PHP 8? ?? ??? ?????. 3. MySQL ?? ?? ??? ???????. 5. MySQL ??? ??????. MySQL ??; 6. ? ??? ?? ?????.

php5? php8? ???? ??, ?? ??, ?? ???, ?? ??, ??? ?????, ?? ????? ?? ? ?? ???? ????. ??? ??: 1. ?? ?? PHP5? ???? PHP8? JIT ????? ???? ?? ??? ?? ??? ????? ????? ?? ??? ??????. PHP8?? ? ?? ??? ?? ??? ??? ???????. PHP8? ??? ????? ????? ???? ???? ?? ?? ???? ??? ??? ? ????.

?? ???? apache2.4 ?? ??? php8.0 ?? ??? ???????. ??? ??? ?? apache2.4+php8.0 ?? ??? ??? ?? ????.

PHP8? mysqli? PDO? ???? ??????? ??? ? ????. ??? ??: 1. ??? ?????? ?? ??, ??? ??, ???? ? ?????? ??? ???? mysqli? ???? ??????? ?????. ?? ?? `connect_error` ??? ???? ?? ?? ??? ???? ??? ???? ?? ???? ?????. ????? `close()` ???? ???? ??? ????. 2. PDO? ???? ??????? ???? ?????? ?? ??, ????, ?????? ?? ?? ???? ?????.

php8 ??? ??? ???? ???? ??? ??, ??? ???? ??, ???? ?? ??? ?? ??, ?? ??? ?? ???? ??, ??? ???? ??, ???? ??? ??, ?? ?? ??? ??, ??? ???? ?? ?? ????. ?? ? ? ?? ?? ?? ? ??. ??? ??: 1. ???? ??? ???? ???? intval() ??? (int) ?? ?? ??? ?????. 2. ??? ???? ???? ???? strval() ??? (???) ?? ?? ??? ?????. ?? ???? ?? ??? ??.

? ????? PHP 8? JIT? ???? JIT? ?? ????? ???? ??? ?? ?????. ??? ?? ???? ??? ??? ????.

php8? ??? ???? JIT ????, ?? ??, ??? ????, ??? ??, ??, ?? ?? ??, ??? ????? ??, ??? ?? ????? ?? ? ?? ??? ??? ?????. ??? ??: 1. JIT ????, PHP8? ??? ?? ??? ???? JIT ????? ???? ?? ??? ?? ??? ????? ????? ????? ?? ??? ??????. ???? ?? ?? ??? ? ??? ??? ???? ??? ? ??? ?? ?? ??? ?????.

php8? ??? ???? ??? ?????. 1. JIT ???? ?? 3. ??? ?? ???? ?? 5. ??? ?? ?? ??? 8. ??? ??? ?? ????? ?????. 9. ?? ??? ??????. ??? ??: 1. JIT ????? ?? PHP8? ?? ???? ??? ?? PHP ??? ??? ??? ??? ? ?? ?? ??? ??? JIT ????? ?????.
