Magic Guide
PHP 8.0 Alpha 1이 2020년 6월 25일에 출시되었습니다. 오늘은 PHP 8.0의 새로운 기능인 JIT를 빠르게 시험해 볼 수 있는 가장 간단한 PHP 8 소스 코드 컴파일 및 설치 방법을 공유하겠습니다. .
1. 다운로드 페이지
2. PHP 8.0
3을 다운로드합니다. Unzip
1 | tar -zxvf php-8.0.0alpha1.tar.gz
|
로그인 후 복사
4. 이 머신에는 여러 PHP 버전이 공존하므로 새로운 디렉터리를 만들어야 합니다. 의미 있는 디렉터리, 다시 생각할 필요 없이 PHP 버전을 알려주는 디렉터리 이름입니다.
1 | mkdir -p /usr/local/php80
|
로그인 후 복사
5. 구성 옵션
이것은 구성 옵션의 간소화된 버전으로, PHP 구성 옵션에 대한 보다 풍부한 설명입니다: https://www.php.net/manual/en/configure.about.php
1 2 | 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/
|
로그인 후 복사
구성 프로세스 중에 프롬프트 구성: 오류가 발생하는 경우 아래 오류 세부 정보에 주의하세요. 다음은 구성 프로세스 중에 발생하는 오류 조건에 대한 주요 정보 요약입니다. 나열되지 않은 다른 오류 조건에 대한 해결 방법은 동일합니다.
오류 #1:
1 2 | configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met:
No package 'libxml-2.0' found
|
로그인 후 복사
해결책:
1 | yum install libxml2-devel.x86_64
|
로그인 후 복사
오류 #2:
1 2 | configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
No package 'sqlite3' found
|
로그인 후 복사
해결책:
1 | yum install sqlite-devel.x86_64
|
로그인 후 복사
다음 프롬프트 메시지가 표시되면 구성 단계가 성공한 것입니다.
6. Compilation & Installation
make 단계에서 소요되는 시간은 머신 구성과 관련이 있습니다. 다음 정보를 보면 make 단계가 완료되었음을 의미합니다. 1 2 | Build complete.
Don't forget to run 'make test'.
|
로그인 후 복사
make 테스트 얼리 어답터이므로 이 단계는 생략합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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
1 2 3 4 | /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
|
로그인 후 복사
8. 환경 구성
1 2 3 4 5 6 | 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
|
로그인 후 복사
9. 구성 경로 확인
사용자 정의된 구성 항목이 유효한지 확인: --with-config-file-path, - -with-config-file-scan-dir
1 2 3 4 5 | 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 시작
1 2 | /etc/init.d/php80-fpm
start Starting php-fpm done
|
로그인 후 복사
11. FPM 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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
|
로그인 후 복사
여기에서는 Nginx 구성 세부 정보가 생략되었습니다. 주로 설치된 PHP-FPM 모드를 빠르게 테스트하기 위한 것입니다. 사용 가능. 1 2 3 4 | <?php
var_dump(PHP_VERSION);
var_dump(PHP_VERSION_ID);
|
로그인 후 복사
rrree
12 새로운 기능 JIT를 사용해 보세요
머신 구성: 8코어 16G, SATA 디스크, 운영 체제: CentOS Linux 릴리스 7.4.1708(코어)
Zend OPCache(/usr/local/php80/ etc/php .ini) 구성은 다음과 같습니다. 대부분의 [opcache] 구성 항목에는 기본값이 있습니다. 이러한 구성 항목의 중요성을 강조하기 위해 여기에 나열되어 있습니다.
1 2 3 | curl localhost
string(11) "8.0.0alpha1"
int(80000)
|
로그인 후 복사
이것은 유휴 리소스가 있는 가상 머신입니다. .JIT, JIT를 끄고 테스트 결과를 관찰해 보면 결과 값이 거의 변하지 않습니다. 테스트 결과는 특별히 가장 아름다운 데이터를 선택하지 않았습니다. 실제로는 필요하지 않습니다. 아래 그림과 같습니다:
13. 요약
이것은 범용 PHP 소스 코드 컴파일 및 설치 방법입니다. 실제 비즈니스 응용 프로그램의 컴파일 및 설치 방법은 유사합니다. 옵션이 훨씬 풍부해지고 클래스 라이브러리도 더욱 포괄적으로 설치되어야 합니다. 이 기사에서는 PHP 8의 새로운 기능인 JIT를 테스트합니다. Zend/bench.php의 테스트 결과에 따르면 여전히 눈길을 끕니다. PHP 8 JIT에 대한 소개는 "PHP8의 새로운 기능인 JIT 사용 소개
"를 추천합니다.
추천 글: "
PHP8.0
"
위 내용은 PHP 8.0 소스 코드 컴파일 및 설치 및 JIT 얼리 어답터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!