> 백엔드 개발 > PHP8 > 본문

PHP 8.0 소스 코드 컴파일 및 설치 및 JIT 얼리 어답터

Guanhui
풀어 주다: 2023-02-17 11:28:01
앞으로
6005명이 탐색했습니다.

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/
로그인 후 복사

구성 프로세스 중에 프롬프트 구성: 오류가 발생하는 경우 아래 오류 세부 정보에 주의하세요. 다음은 구성 프로세스 중에 발생하는 오류 조건에 대한 주요 정보 요약입니다. 나열되지 않은 다른 오류 조건에 대한 해결 방법은 동일합니다.

오류 #1:

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
로그인 후 복사

오류 #2:

configure: error: Package requirements (sqlite3 > 3.7.4) were not met: 
No package 'sqlite3' found
로그인 후 복사

해결책:

yum install sqlite-devel.x86_64
로그인 후 복사

다음 프롬프트 메시지가 표시되면 구성 단계가 성공한 것입니다.

PHP 8.0 소스 코드 컴파일 및 설치 및 JIT 얼리 어답터6. Compilation & Installation

 make
로그인 후 복사
make 단계에서 소요되는 시간은 머신 구성과 관련이 있습니다. 다음 정보를 보면 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
로그인 후 복사
8. 환경 구성

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

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
로그인 후 복사
11. FPM 확인

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 모드를 빠르게 테스트하기 위한 것입니다. 사용 가능.
// index.php 
<?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] 구성 항목에는 기본값이 있습니다. 이러한 구성 항목의 중요성을 강조하기 위해 여기에 나열되어 있습니다.

curl localhost 
string(11) "8.0.0alpha1" 
int(80000)
로그인 후 복사
이것은 유휴 리소스가 있는 가상 머신입니다. .JIT, JIT를 끄고 테스트 결과를 관찰해 보면 결과 값이 거의 변하지 않습니다. 테스트 결과는 특별히 가장 아름다운 데이터를 선택하지 않았습니다. 실제로는 필요하지 않습니다. 아래 그림과 같습니다:

PHP 8.0 소스 코드 컴파일 및 설치 및 JIT 얼리 어답터13. 요약

이것은 범용 PHP 소스 코드 컴파일 및 설치 방법입니다. 실제 비즈니스 응용 프로그램의 컴파일 및 설치 방법은 유사합니다. 옵션이 훨씬 풍부해지고 클래스 라이브러리도 더욱 포괄적으로 설치되어야 합니다. 이 기사에서는 PHP 8의 새로운 기능인 JIT를 테스트합니다. Zend/bench.php의 테스트 결과에 따르면 여전히 눈길을 끕니다. PHP 8 JIT에 대한 소개는 "PHP8의 새로운 기능인 JIT 사용 소개

"를 추천합니다.

추천 글: "

PHP8.0
"

위 내용은 PHP 8.0 소스 코드 컴파일 및 설치 및 JIT 얼리 어답터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!