CentOS7.0下安装PHP5.6.30服务的教程详解

关于php-fpm

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端

nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。

PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。

获取PHP下载地址

为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。

打开php的官网:http://php.net/ ,查看php的版本列表

CentOS7.0下安装PHP5.6.30服务的教程详解

右击,复制链接地址,在远程主机登录,下载该软件(我选的是Australia的主机mirror下载的)

  # wget http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror

下载下来的是一个mirror文件,改成我们需要的文件名

  #mv mirror php-5.6.30.tar.gz#tar zxvf php-5.6.30.tar.gz#cd php-5.6.30

配置安装

进入到目录,我们需要在安装的时候将安装目录配置到/usr/local/php/里

  #./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-MySQL   --with-mysqli   --with-openssl   --with-pcre-regex   --with-pdo-mysql   --with-pdo-sqlite   --with-pear   --with-png-dir   --with-xmlrpc   --with-xsl   --with-zlib   --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-xml   --enable-zip

配置的过程中可能会报如下错误

错误1:

  xml2-config not found.   Please check your libxml2 installation.

解决办法

安装libxml2相关组件

  #yum install libxml2#yum install libxml2-devel -y

错误2:

  Please reinstall the libcurl   distribution -   easy.h   should be in   <curl-dir>/include/curl/

安装curl相关组件

  #yum install curl curl-devel

错误3:

  configure: error: png.h not found.

安装libpng相关组件

  #yum install libpng#yum install libpng-devel

错误4:

  freetype-config not found.

安装freetype相关组件

  #yum install freetype-devel

错误5:

  xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

安装libxslt相关组件

  #yum install libxslt-devel

好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!

CentOS7.0下安装PHP5.6.30服务的教程详解

接下来我们只需要编译安装即可完成php的安装

  #make && make install

看到这句话,表明安装完成!

CentOS7.0下安装PHP5.6.30服务的教程详解

为了保险起见,我们make test一把,看看是否真的成功了。

配置相关php.ini配置

首先我们需要配置的是php.ini这个文件

安装目录有2个文件:php.ini-development和php.ini-production

php.ini-production 线上版本使用

php.ini-development 开发版本使用

我们选择development进行配置

  # cp php.ini-development /usr/local/php/lib/php.ini

php-fpm配置

拷贝php-fpm配置文件

  #cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

拷贝启用文件

  #cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm(已弃用,详细的见注1)

启动

  #/etc/init.d/php-fpm

查看php是否启动成功

  #ps aux | grep php

CentOS7.0下安装PHP5.6.30服务的教程详解

看到这些,表明你的php已经启动成功啦!

重启及关闭

  #kill -9 进程号  #/etc/init.d/php-fpm

配置Nginx支持PHP

进入nginx主目录,/usr/local/nginx;

  #cd /usr/local/nginx

进入配置目录

  #cd conf

Nginx支持PHP需要修改nginx.conf

  #vim nginx.conf

代开下面代码,让Nginx支持PHP,在server代码段里。

CentOS7.0下安装PHP5.6.30服务的教程详解

修改完,这段代码变为,红色部分为我们主机目录为/usr/www,需要修改fastcgi_param SCRIPT_FILENAME指向对应目录即可:

CentOS7.0下安装PHP5.6.30服务的教程详解

设置主目录设置为/usr/www。

CentOS7.0下安装PHP5.6.30服务的教程详解

注释掉root那行,新增一行:root /usr/www;

保存退出。

根据Nginx章的解释,我们重启Nginx服务。

  #/etc/init.d/nginx restart

如果你没有按照我们在Nginx的方法配置,可以按照以下的方式重启Nginx服务

  # /usr/local/nginx/sbin/nginx -s reload

重启成功!下面我们在/usr/www目录下添加一个新文件。

  #vim /usr/www/phpinfo.php

插入以下内容

  <?php phpinfo(); ?>

在浏览器中打开http://远程ip/phpinfo.php

CentOS7.0下安装PHP5.6.30服务的教程详解

看到这个页面,恭喜你,你的PHP已经安装配置完成。你可以在这个页面看到所有php依赖的组件,下一节我将和大家详细讲解一下这个页面,如果对本节有什么疑问的,欢迎在评论区和我交流讨论,有留言必回。^_^

设置php开机自启动与开启php服务便捷方式

上面的方法中,我在拷贝php-fpm的服务时出了问题,不应该直接将php-fpm的可执行文件拷贝到/etc/init.d/目录下去,应该将php给我们准备好的init.d.php-fpm。

  #cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

将php-fpm服务添加到chkconfig列表

  #chkconfig --add php-fpm

设置开机自启动

  #chkconfig php-fpm on

以后重启和停止php的方式为

  #service php-fpm start  #service php-fpm stop  #service php-fpm restart  #service php-fpm reload
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论