최신 버전의 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
또한 운영 체제 환경마다 시스템 설치 및 개발 환경 패키지의 완성도가 다르기 때문에 운영 체제 설치 시 필요한 항목을 선택하는 것이 좋습니다. 또한 모든 명령을 한 번에 실행하여 제거된 구성 요소를 설치합니다. 버전이 완전히 동일하면 위의 두 명령 외에는 작업이 수행되지 않습니다.
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
기본적으로 위 패키지로 충분합니다. 문제가 발견되면 설치가 완료된 후 구성을 추가하세요.
./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 중국어 웹사이트의 기타 관련 기사를 참조하세요!