>백엔드 개발 >PHP7 >php7과 php5를 공존시키기 위해 설치하는 방법

php7과 php5를 공존시키기 위해 설치하는 방법

藏色散人
藏色散人앞으로
2021-09-09 10:19:041739검색

Start

이전에 서버에 lamp 환경을 구축한 적이 있는데, 더 강력한 nginx로 전환하고 싶습니다. 서버 소프트웨어로 사용하고 php5를 php7로 업그레이드하고 싶습니다. lamp环境,想换用性能更强的nginx作为服务器软件,又想将php5升级为php7.
安装nginx无需赘述:sudo apt-get install nginx,启动ng前修改apache的端口。

安装php7

源码在http://php.net/downloads.php 下载,并解压。

# cd php7***
# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mcrypt=/usr/include --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache

# make
# make install

为不与5冲突,文件夹都用php7,安装过程中报错的安装响应的依赖。

对接nginx

nginx本身不能处理php脚本,需要发给php解释器处理。nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

# cp php.ini-production /usr/local/php7/etc/php.ini
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
# chmod +x /etc/init.d/php7-fpm
# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

启动php-fpm

# service php7-fpm start

中途如遇到日志文件路径不存在就手动创建并给予写的权限。

# service php7-fpm start
Starting php-fpm [07-Apr-2016 11:16:11] ERROR: [pool www] cannot get gid for group 'nobody'
[07-Apr-2016 11:16:11] ERROR: FPM initialization failed
 failed

遇到这个错误时,要添加个nobody组groupadd nobodynginx를 설치하기 위해 세부 정보로 이동할 필요가 없습니다. sudo apt-get install nginx, ng를 시작하기 전에 Apache 포트를 수정하세요.

php7 설치

http://php.net/downloads.php에서 소스코드를 다운로드하고 압축을 풀어주세요.

location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

5번과 충돌하지 않기 위해 모든 폴더는 php7을 사용하며, 설치 과정에서 오류가 발생하는 설치 응답 종속성도 있습니다. nginx에 연결

nginx 자체는 PHP 스크립트를 처리할 수 없으며 처리를 위해 PHP 인터프리터로 보내야 합니다. nginx는 일반적으로 처리를 위해 fastcgi 관리 프로세스에 요청을 보냅니다. Fascgi 관리 프로세스는 cgi 하위 프로세스 처리 결과를 선택하여 nginx에 반환합니다.
rrreee🎜php-fpm 시작🎜rrreee🎜존재하지 않는 로그 파일 경로가 발견되면 수동으로 생성하고 쓰기 권한을 부여하세요. 🎜rrreee🎜이 오류가 발생하면 아무도 그룹 groupadd none을 추가한 다음 다시 시작하세요. 🎜🎜nginx 구성🎜🎜이것은 php 파일에 접근할 때 ng가 응답 처리용으로 구성되어 있지 않기 때문에 다운로드된 파일이 됩니다. 🎜rrreee🎜추천 학습: "🎜PHP7 Tutorial🎜"🎜🎜🎜

위 내용은 php7과 php5를 공존시키기 위해 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제