백엔드 개발 PHP7 소스 코드에서 php7을 컴파일하고 설치하는 방법

소스 코드에서 php7을 컴파일하고 설치하는 방법

Jun 23, 2020 pm 06:00 PM

소스 코드에서 php7을 컴파일하고 설치하는 방법

최신 버전의 PHP 7.0.5 소스 코드 패키지를 다운로드하세요:

 

다운로드하여 서버에 업로드하세요

PHP 설치에는 컴파일이 필요하므로 서버는 gcc 및 g++ 환경이 다음과 같은지 확인해야 합니다. 설치됨

추천 튜토리얼: "PHP Video Tutorial"

먼저 설치 패키지를 릴리스하세요:

tar -xvzf php-7.0.5.tar.gz
cd php-7.0.5
로그인 후 복사

다음으로 매개변수를 구성하세요. 구성하기 전에 libxml2 및 libxml2-devel이 없으면 오류가 보고되므로 libxml2를 업데이트하고 libxml2-devel을 설치해야 합니다. 온라인 설치를 사용하세요:

yum -y install libxml2
yum -y install libxml2-devel
로그인 후 복사

  또한 운영 체제 환경마다 시스템 설치 및 개발 환경 패키지의 완성도가 다르기 때문에 운영 체제 설치 시 필요한 항목을 선택하는 것이 좋습니다. 또한 모든 명령을 한 번에 실행하여 제거된 구성 요소를 설치합니다. 버전이 완전히 동일하면 위의 두 명령 외에는 작업이 수행되지 않습니다.

소스 코드에서 php7을 컴파일하고 설치하는 방법

yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel
로그인 후 복사

소스 코드에서 php7을 컴파일하고 설치하는 방법

기본적으로 위 패키지로 충분합니다. 문제가 발견되면 설치가 완료된 후 구성을 추가하세요.

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-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-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
로그인 후 복사

실제로 더 많은 구성이 있습니다. ./configure --help 명령을 사용하여 모든 옵션을 볼 수 있습니다. 여기서 php7 --with-mysql 기본 지원은 더 이상 존재하지 않으며 작업은 mysqli 또는 pdo가 되었습니다. 나중에 필요한 경우 해당 모듈을 수동으로 활성화하도록 선택할 수 있습니다

  그런 다음 컴파일을 실행합니다:

make
로그인 후 복사

컴파일 시간이 약간 길어질 수 있습니다. 컴파일이 완료된 후 설치를 수행하세요.

make install
로그인 후 복사

  php의 기본 설치 위치는 /usr/local/php로 지정되었습니다. 다음으로 해당 파일을 구성합니다:

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
로그인 후 복사

  그런 다음 php.ini를 설정하고 다음을 사용합니다: vim /usr/local/php/lib/php.ini 열기 php 구성 파일을 열고 cgi.fix_pathinfo 구성 항목을 찾으세요. 이 항목은 기본적으로 주석 처리되어 있으며 값은 1입니다. 공식 문서에 따르면 이는 파일이 존재하지 않을 때 Nginx가 요청을 보내는 것을 방지하기 위한 것입니다. 백엔드 PHP-FPM 모듈은 악성 스크립트 주입 공격을 방지하므로 이 항목의 주석 처리를 제거하고 0

 

 설정 후 저장 및 종료

주의해야 할 또 다른 장소는 php.ini의 위치입니다. ini 구성 파일은 사전 컴파일 구성 매개변수에서 설정할 수 있습니다. 컴파일 매개변수는 --with-config-file-path=/usr/local/php로 작성할 수 있습니다. php.ini 구성 파일을 읽으려면 이 매개변수를 추가하지 않으면 기본 위치는 PHP 설치 디렉토리 아래의 lib 디렉토리입니다. php.ini가 다음과 같은 경우에는 phpinfo() 출력 인터페이스에서도 확인할 수 있습니다. 다른 위치에 배치되어 있고 PHP가 이를 읽을 수 없으면 모든 구성이 수정되지 않습니다.

이때 먼저 웹 사용자를 만들어야 합니다:

groupadd www-data
useradd -g www-data www-data
로그인 후 복사

그런 다음 일부 온라인 튜토리얼에서는 다음과 같이 말합니다. php-fpm.conf를 수정하여 위에서 생성한 사용자 및 그룹을 추가합니다. 이때 vim /usr/을 사용합니다. local/etc/php-fpm.conf 파일을 열면 공식 위치를 찾을 수 없습니다:

 

이때 임의의 위치에 추가하면 다음에 php-fpm을 시작할 때 디렉터리를 찾을 수 없다는 오류가 보고되므로 이때 php-fpm.conf에 사용자 및 그룹을 추가하지 마십시오. , php-fpm.conf의 마지막 줄로 이동하면 다음 내용을 찾을 수 있습니다. (컴파일 시 --prefix 옵션을 추가하면 다음 위치가 자동으로 완성됩니다. 기본적으로 다음은 비어 있습니다. 참고하세요):

 

  php-fpm.d 디렉토리의 모든 conf 구성 파일이 여기에 소개되어 있지만 실제 디렉토리인 /usr/local

에는 NONE을 수정해야 합니다.

  

  默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
vim /usr/local/etc/php-fpm.d/www.conf
로그인 후 복사

  默认user和group的设置为nobody,将其改为www-data

  

  修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:

/usr/local/bin/php-fpm
로그인 후 복사

  启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -ntlp | grep 9000 可以查看端口使用情况:

  

  9000端口正常使用,说明php-fpm服务启动成功

  然后执行 vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:

  

  然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

  

  这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root

  修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www-data

  修改完这些保存并退出,然后重启nginx:

/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx
로그인 후 복사

  接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:

<?php
    phpinfo();
?>
로그인 후 복사

위 내용은 소스 코드에서 php7을 컴파일하고 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)