nginx下安装php7+php5

yipeiwu_com6年前PHP代码库

起步

之前在服务器搭建了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 nobody再重新启动。

nginx的配置

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

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;
    }

相关文章

php页码形式分页函数支持静态化地址及ajax分页

之前每次遇到分页,总是得自己写,觉得挺繁琐的,所以本着通用的原则,写了一个分页的方法,特此记录。 目前此分页支持静态化地址分页和无链接地址时的ajax分页(但是js得自己写): 支持的静...

PHP FileSystem 文件系统常用api整理总结

PHP FileSystem 文件系统常用api整理总结

本文实例讲述了PHP FileSystem 文件系统常用api。分享给大家供大家参考,具体如下: 参数说明:$filename (文件的路径) 1-4 文件信息相关 filetyp...

php5 pdo新改动加载注意事项

前面的#号去了,但是加载不了,仔细一看,哦,原来还有个 extension=php_pdo.dll 于是,就OK了 顺便说下,不要再把ext下的dll文件拷到windows目录下了,在环...

一个漂亮的php验证码类(分享)

一个漂亮的php验证码类(分享)

直接上代码:复制代码 代码如下://验证码类class ValidateCode { private $charset = 'abcdefghkmnprstuvwxyzABCD...

基于PHP实现假装商品限时抢购繁忙的效果

最近要做一个项目,有关商品显示抢购的功能。比如我们的网站很带流量,那么成千上万的用户在几秒内同时点你的商品,确实会出现“抢购人数过多,会提示,系统繁忙。   &nbs...