【CNMP系列】CentOS7.0下安装PHP5.6.30服务
上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204
附上一节地址:http://www.cnblogs.com/riverdubu/p/6426852.html
关于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的版本列表

右击,复制链接地址,在远程主机登录,下载该软件(我选的是Australia的主机mirror下载的)
# wget http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
下载下来的是一个mirror文件,改成我们需要的文件名
#mv mirror php-5.6..tar.gz
#tar zxvf php-5.6..tar.gz
#cd php-5.6.
配置安装
进入到目录,我们需要在安装的时候将安装目录配置到/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. distribution
安装libxslt相关组件
#yum install libxslt-devel
好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!

接下来我们只需要编译安装即可完成php的安装
#make && make install
看到这句话,表明安装完成!

为了保险起见,我们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

看到这些,表明你的php已经启动成功啦!
重启及关闭
#kill - 进程号
#/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代码段里。

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

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

注释掉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
看到这个页面,恭喜你,你的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
上面是我的问题,请大家及时更正。
【CNMP系列】CentOS7.0下安装PHP5.6.30服务的更多相关文章
- 【CNMP系列】CentOS7.0下安装MySql5.6服务
接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...
- 【Linux】CentOS7.0下安装JDK环境
写在前面:此次试验是在CentOS7上面安装的,亲测成功. 所需工具:JDK1.8安装包,xftp 具体步骤: 1,首先使用xftp连接到自己的虚拟机,然后查看是否有"/usr/java/j ...
- 【Tomcat】CentOS7.0下安装多个Tomcat及其配置
安装前所需环境 在开始安装Tomcat之前,需要安装环境JDK,并配置JAVA环境.如果不知道如何配置,可参考这篇博客:[Linux]CentOS7.0下安装JDK环境 Tomcat安装 Tomcat ...
- CentOS7.0下安装FTP服务的方法
http://www.jb51.net/article/106604.htm 本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟 ...
- 【CNMP系列】CentOS7.0下安装Nginx服务
话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...
- centos7.0 下安装jdk1.8
centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...
- 【Nginx】Nginx简介及在CentOS7.0下安装教程
是什么 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能 ...
- 【转载】CentOS7.0下安装Telnet
1..先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: # rpm -qa telnet-server # rpm -qa xinetd 如果没 ...
- 【CNMP系列】CentOS7.0下安装FTP服务
一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是 ...
随机推荐
- 谈谈MySQL数据表的类型(转)
谈谈MySQL数据表的类型 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其 ...
- JAVA-Unit01: 数据库原理 、 SQL(DDL、DML)
Unit01: 数据库原理 . SQL(DDL.DML) SQL语句是不区分大小写的,但是行业里习惯将关键字与分关键字用大小写岔开以提高可读性. SELECT SYSDATE FROM dual DD ...
- iOS 程序调试、测试方案
1. iOS 之 界面调试 2. iOS 之 调试.解决BUG 3. iOS 程序测试.程序优化.提交前检测
- java 二维码
在http://www.ostools.net/qr看到了一个生成二维码的工具,于是就产生了一个想法: 为什么自己不做一个二维码的生成和解析工具呢?花了一个多钟的时间,嘿嘿,就做出来啦... 先来看看 ...
- --@angularJS--较复杂的指令嵌套demo——综合小实例:登陆界面
1.index.html: <!DOCTYPE HTML><html ng-app="app"><head> <title>c ...
- MySQL数据类型--日期时间
一.博客前言 自接触学习MySQL已有一段时间了,对于MySQL的基础知识还是略懂略懂的.在这一路学习过来,每次不管看书还是网上看的资料,对于MySQL数据类型中的时间日期类型总是一扫而过,不曾停下来 ...
- BZOJ2002(分块)
Bounce 弹飞绵羊 Time Limit:10000MS Memory Limit:265216KB 64bit IO Format:%lld & %llu Submit ...
- (一)Redis在windows下的安装和使用
1.下载redis服务端,地址:https://github.com/MSOpenTech/redis/releases 包含安装程序和源码. 2.解压<Redis-x64-3.2.100.zi ...
- 源码(03) -- java.util.Collection<E>
java.util.Collection<E> 源码分析(JDK1.7) -------------------------------------------------------- ...
- 双显卡笔记本安装CUDA+theano、tensorflow环境
原文出处:http://www.cnblogs.com/jacklu/p/6377820.html 个人知乎主页欢迎关注:https://www.zhihu.com/people/jack_lu,相信 ...