Magic Guide
PHP 8.0 Alpha 1이 2020년 6월 25일에 출시되었습니다. 오늘은 PHP 8.0의 새로운 기능인 JIT를 빠르게 시험해 볼 수 있는 가장 간단한 PHP 8 소스 코드 컴파일 및 설치 방법을 공유하겠습니다. .
운영 체제: CentOS Linux 릴리스 7.4.1708(코어)
GCC: 4.8.5 20150623(Red Hat 4.8.5-28)
PHP 버전: php-8.0.0alpha1
1. 다운로드 페이지
https://downloads.php.net/~pollita/
2. PHP 8.0
wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
3을 다운로드합니다. Unzip
tar -zxvf php-8.0.0alpha1.tar.gz
4. 이 머신에는 여러 PHP 버전이 공존하므로 새로운 디렉터리를 만들어야 합니다. 의미 있는 디렉터리, 다시 생각할 필요 없이 PHP 버전을 알려주는 디렉터리 이름입니다.
mkdir -p /usr/local/php80
5. 구성 옵션
이것은 구성 옵션의 간소화된 버전으로, PHP 구성 옵션에 대한 보다 풍부한 설명입니다: https://www.php.net/manual/en/configure.about.php
cd php-8.0.0alpha1 ./configure --prefix=/usr/local/php80/ --enable-debug --enable-fpm --with-config-file-path=/usr/local/php80/etc/ --with-config-file-scandir=/usr/local/php80/etc/php.d/
configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met: No package 'libxml-2.0' found
yum install libxml2-devel.x86_64
configure: error: Package requirements (sqlite3 > 3.7.4) were not met: No package 'sqlite3' found
yum install sqlite-devel.x86_64
6. Compilation & Installation
make
Build complete. Don't forget to run 'make test'.
make 테스트 얼리 어답터이므로 이 단계는 생략합니다.
make install exit 0; -v -d /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.y -o /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.c Installing shared extensions: /usr/local/php80/lib/php/extensions/debugnon-zts-20190128/ Installing PHP CLI binary: /usr/local/php80/bin/ Installing PHP CLI man page: /usr/local/php80/php/man/man1/ Installing PHP FPM binary: /usr/local/php80/sbin/ Installing PHP FPM defconfig: /usr/local/php80/etc/ Installing PHP FPM man page: /usr/local/php80/php/man/man8/ Installing PHP FPM status page: /usr/local/php80/php/php/fpm/ Installing phpdbg binary: /usr/local/php80/bin/ Installing phpdbg man page: /usr/local/php80/php/man/man1/ Installing PHP CGI binary: /usr/local/php80/bin/ Installing PHP CGI man page: /usr/local/php80/php/man/man1/ Installing build environment: /usr/local/php80/lib/php/build/ Installing header files: /usr/local/php80/include/php/ Installing helper programs: /usr/local/php80/bin/ program: phpize program: php-config Installing man pages: /usr/local/php80/php/man/man1/ page: phpize.1 page: php-config.1 /home/fanjiapeng/php-8.0.0alpha1/build/shtool install -c ext/phar/phar.phar /usr/local/php80/bin/phar.phar ln -s -f phar.phar /usr/local/php80/bin/phar Installing PDO headers: /usr/local/php80/include/php/ext/pdo/
7. PHP
/usr/local/php80/bin/php -v PHP 8.0.0alpha1 (cli) (built: Jul 2 2020 15:47:26) ( NTS DEBUG ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
ln -s /usr/local/php80/bin/php /usr/bin/php80 cp php.ini-development /usr/local/php80/etc/php.ini cp /usr/local/php80/etc/php-fpm.conf.default /usr/local/php80/etc/phpfpm.conf cp /usr/local/php80/etc/php-fpm.d/www.conf.default /usr/local/php80/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php80-fp chmod +x /etc/init.d/php80-fpm
사용자 정의된 구성 항목이 유효한지 확인: --with-config-file-path, - -with-config-file-scan-dir
php80 --ini Configuration File (php.ini) Path: /usr/local/php80/etc/ Loaded Configuration File: /usr/local/php80/etc/php.ini Scan for additional .ini files in: /usr/local/php80/etc/php.d/ Additional .ini files parsed: (none)
10. FPM 시작
/etc/init.d/php80-fpm start Starting php-fpm done
ps aux | grep php-fpm root 26876 0.0 0.0 52084 2828 ? Ss Jul02 0:14 php-fpm: master process (/usr/local/php80/etc/php-fpm.conf) nobody 26877 0.0 0.0 52084 3648 ? S Jul02 0:00 php-fpm: pool www nobody 26878 0.0 0.0 52084 3624 ? S Jul02 0:00 php-fpm: pool www /etc/init.d/php80-fpm -h Usage: /etc/init.d/php80-fpm {start|stop|forcequit|restart|reload|status|configtest} /etc/init.d/php80-fpm status php-fpm (pid 26876) is running... /etc/init.d/php80-fpm configtest [06-Jul-2020 11:06:42] NOTICE: configuration file /usr/local/php80/etc/php fpm.conf test is successful
// index.php <?php var_dump(PHP_VERSION); var_dump(PHP_VERSION_ID);
12 새로운 기능 JIT를 사용해 보세요
머신 구성: 8코어 16G, SATA 디스크, 운영 체제: CentOS Linux 릴리스 7.4.1708(코어)
Zend OPCache(/usr/local/php80/ etc/php .ini) 구성은 다음과 같습니다. 대부분의 [opcache] 구성 항목에는 기본값이 있습니다. 이러한 구성 항목의 중요성을 강조하기 위해 여기에 나열되어 있습니다.curl localhost string(11) "8.0.0alpha1" int(80000)
13. 요약
이것은 범용 PHP 소스 코드 컴파일 및 설치 방법입니다. 실제 비즈니스 응용 프로그램의 컴파일 및 설치 방법은 유사합니다. 옵션이 훨씬 풍부해지고 클래스 라이브러리도 더욱 포괄적으로 설치되어야 합니다. 이 기사에서는 PHP 8의 새로운 기능인 JIT를 테스트합니다. Zend/bench.php의 테스트 결과에 따르면 여전히 눈길을 끕니다. PHP 8 JIT에 대한 소개는 "PHP8의 새로운 기능인 JIT 사용 소개
"를 추천합니다. PHP8.0"
위 내용은 PHP 8.0 소스 코드 컴파일 및 설치 및 JIT 얼리 어답터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!