nginx下安装php7+php5
程序员文章站
2024-04-02 16:49:52
起步
之前在服务器搭建了lamp环境,想换用性能更强的nginx作为服务器软件,又想将php5升级为php7.
安装nginx无需赘述:sudo apt-get...
起步
之前在服务器搭建了lamp环境,想换用性能更强的nginx作为服务器软件,又想将php5升级为php7.
安装nginx无需赘述:sudo apt-get install nginx,启动ng前修改apache的端口。
安装php7
源码在 下载,并解压。
复制代码 代码如下:
# 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
# ./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
# 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
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; }
上一篇: Thinkphp微信公众号支付接口
下一篇: php微信浏览器分享设置以及回调详解
推荐阅读
-
nginx下安装php7+php5
-
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
-
Windows2003下php5.4安装配置教程(Apache2.4)
-
Windows2003下php5.4安装配置教程(IIS)
-
Nginx环境下PHP flush失效的解决方法
-
PHP7+Nginx的配置与安装教程详解
-
Linux(CentOS)下PHP扩展PDO编译安装的方法
-
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
-
Centos 6.5系统下编译安装PHP 7.0.13的方法
-
在Mac OS的PHP环境下安装配置MemCache的全过程解析