微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx下安装php7+php5

起步

之前在服务器搭建了lamp环境,想换用性能更强的Nginx作为服务器软件,又想将PHP5升级PHP7.

安装Nginx无需赘述:sudo apt-get install Nginx,启动ng前修改apache的端口。

安装PHP7

源码在 下载,并解压。

代码如下:
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

代码如下:
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

代码如下:
PHP7-fpm start

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

代码如下:
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 nobody再重新启动。

Nginx的配置

这是访问PHP文件是变成下载文件,因为ng并未配置响应处理。

rush:plain;"> 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; }

原文地址:https://www.jb51.cc/php/19223.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐