【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.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已经配置完成啦!

接下来我们只需要编译安装即可完成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 -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代码段里。

修改完,这段代码变为,红色部分为我们主机目录为/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

上面是我的问题,请大家及时更正。

时间: 2024-10-11 03:21:47

【CNMP系列】CentOS7.0下安装PHP5.6.30服务的相关文章

【CNMP系列】CentOS7.0下安装MySql5.6服务

接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件. 官网:https://www.mysql.com/ 与其他大型数据库例如 Or

#建站【CentOS7.0下安装Nginx 1.7.4 】

来源:blog.csdn.net  作者:QuantSeven 原文链接点:这里 一个在CentOS7.0下安装Nginx 1.7.4的教程,亲测有效.下面直接上教程: 一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib-devel 所以执行如下命令安装. $ ./configure $默认安装在/usr/local/nginx $ make $

【CNMP系列】CentOS7.0下安装Nginx服务

话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Nginx的历史不在此赘述,轻量,快是它的特性.只是因为现在的模块没有达到apache的模块数量级,未来有超越apache的势头. 首先,我们要安装个必要的软件(上节提到过,可能有人并未安装) #yum install wget 因为Nginx以来与gcc的编译环境,所以,在mini centos中需要安

【转载】CentOS7.0下安装Telnet

1..先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: # rpm -qa telnet-server # rpm -qa xinetd 如果没有安装,先安装.安装命令: # yum install telnet-server(或者yum install telnet-server.x86_64yum install telnet.x86_642.)# yum install xinetd 3.安装完成后,将xinetd服务加入开机自启动:

【CNMP系列】CentOS7.0下安装FTP服务

一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议". 在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文

centos7.0下安装oracle11g

环境 系统 centos 7.0(x86_64) 数据库 oracle 11g(x86_64) 1.配置防火墙 方法1: 关闭防火墙(不推荐,不安全),从centos7开启关闭服务的方式和以往不同 Systemctl disable firewalld.service #关闭开机启动防火墙 Systemctl stop firewalld.service #关闭防火墙 方法2: 配置防火墙 vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下内容 -A RH-Fi

centos7.0下安装Discuz

废话不多说直接进去主题,我们先在Discuz官方论坛将源码下载下来 Discuz这里为了方便我直接给出了下载地址.如果有最新版本可以直接去官网去下载.接下来我们将配置安装环境: 1.首先安装环境所需软件 Appache,Mariadb(以前叫mysql,现在开源的服务名叫Mariadb),php,php-mysql(后续安装界面如没安装此服务会报错) 2.安装以上服务开启前关闭防火墙(firewall)及 Selinux 关闭firewall防火墙 临时关闭:systemctr stop fir

centOS7.0下安装配置jdk1.8

1.检查一下系统中的jdk版本 java -version java version "1.7.0_"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 2.检测JDK安装包 rpm -qa | grep java avapackages-tools-3.4.1-6.el7_0.no

在Centos7系统环境下安装并配置Openvpn服务(附客户端使用说明及常见问题排错)

OpenVPN服务端配置 简介 OpenVPN是一个用于创建虚拟专用网络加密通道的软件包最早由James Yonan编写. OpenVPN允许参与建立VPN的单点使用公开密钥.电子证书.或者用户名密码来进行身份验证.它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库. 目前OpenVPN能在Solaris.Linux.OpenBSD.FreeBSD.NetBSD.Mac OS X与Windows 2000XPVista7上运行并包含了许多安全性的功能.它并不是一个基于Web的V