【CentOS】阿里云CentOS安装php环境
本文在介绍安装php环境前,已安装了nginx、mysql。
一、安装
使用国内的搜狐镜像站下载php5.6安装包,执行:
wget http://mirrors.sohu.com/php/php-5.6.2.tar.gz
安装之前,先安装php5.6编译时所依赖的软件包。如下:
yum -y install gcc gcc-c++ libxml2 libxml2-devel
接下来解压安装php5.6,先执行解压:
tar -xf php-5.6.2.tar.gz
接着进入php5.6的解压目录,现在开始配置php5.6,使用如下命令:
cd php-5.6.2

上述命令中--enable-fpm的作用是开启php的fastcgi功能即开启php-fpm功能,–with-mysql=/usr/local/mysql是启用php支持mysql的功能,/usr/local/mysql是mysql数据库的安装路径,注意这里如果报以下错误:
报错configure: error: Cannot find MySQL header files under /usr/local/mysql,可以尝试以下解决方案:
--with-mysql=/usr/local/mysql,
把它改为
--with-mysql或--with-mysql=/usr
–enable-mbstring表示启用mbstring模块mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。目前php内部的编码只支持ISO-8859-*、EUC-JP、UTF-8,其他的编码的语言是没办法在php程序上正确显示的,所以我们要启用mbstring模块。
这步操作成功后,就会看到以下界面:

接下来编译安装,先执行make命令,成功后看到以下界面:

再执行make install命令就可以了,此时可以使用php –v查看安装成功后的版本信息。
二、配置
安装成功后接下来做基本的配置操作,通过上面安装完后,在/usr/local/lib目录下是没有php.ini文件的。在这先复制php安装文件提供的模版,如下:
cp php.ini-production /usr/local/lib/php.ini
此时服务器环境的nginx还是不支持php的,要通过fastcgi来处理有关php的请求。而php需要php-fpm这个组件来支持,这个就是前边配置php时使用到的那个命令--enable-fpm。
php-fpm功能开启后,还需要配置php-fpm。其实php-fpm的配置文件在安装php时,已经为我们提供了一个配置文件的模版。该模版为/usr/local/etc/php-fpm.conf.default,要复制一份该文件,并重命名为php-fpm.conf,如下:
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

为了让php-fpm已服务的形式启动。我们需要复制php安装目录下/sapi/fpm/init.d.php-fpm文件。如下:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
此时php-fpm文件是没有执行权限的,赋予php-fpm执行权限,并启动php-fpm,执行如下命令:
chmod a+x /etc/init.d/php-fpm
/etc/init.d/php-fpm start
启动后查看:

9000端口是php-fpm默认监听端口。
接下来配置nginx,使其支持php,如下:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

接着在nginx的网站根目录新建一文件index.php(/usr/local/nginx/html/index.php),内容如下:
<?php phpinfo(); ?>
再到/usr/local/nginx/sbin/目录下,执行./nginx启动nginx,再在浏览器输入服务器ip/index.php,如果看到如下信息则证明已安装启动成功:

【CentOS】阿里云CentOS安装php环境的更多相关文章
- 阿里云ECS安装lnmp环境-转载自:http://ninghao.net/blog/1368
远程控制你的服务器 远程控制 Linux 类型的系统的服务器,比如 CentOS 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制.我们需要使用命令行工具,远程连接到服务器, ...
- 阿里云Ubuntu安装LNMP环境之PHP7
在QQ群很多朋友问阿里云服务器怎么安装LNMP环境,怎么把项目放到服务器上面去,在这里,我就从头开始教大家怎么在阿里云服务器安装LNMP环境. 在这之前,我们先要知道什么是LNMP. L: 表示的是L ...
- 阿里云Ubuntu安装LNMP环境之Mysql
在QQ群很多朋友问阿里云服务器怎么安装LNMP环境,怎么把项目放到服务器上面去,在这里,我就从头开始教大家怎么在阿里云服务器安装LNMP环境. 在这之前,我们先要知道什么是LNMP. L: 表示的是L ...
- 阿里云Ubuntu安装LNMP环境之Nginx
在QQ群很多朋友问阿里云服务器怎么安装LNMP环境,怎么把项目放到服务器上面去,在这里,我就从头开始教大家怎么在阿里云服务器安装LNMP环境. 在这之前,我们先要知道什么是LNMP. L: 表示的是L ...
- 阿里云centos7安装桌面环境
centos7. 1.安装X11.yum groupinstall "X Window System". 2.安装gnome. 全安装:yum groupinstall -y &q ...
- 阿里云centos 安装和配置 DokuWiki
安装 1) 添加虚拟主机:由于我的 阿里云CentOs服务器 安装了oneinstack的一键部署PHP.JAVA.Nginx等环境,所以域名配置很方便,照着文档一步一步做就可以了 cd /root/ ...
- [转]阿里云CentOS 7.1使用yum安装MySql5.6.24
阿里云CentOS 7.1使用yum安装MySql5.6.24 作者:vfhky | 时间:2015-06-25 09:43 | 分类:web 在前面两篇文章<2015博客升级记(四):Cent ...
- 阿里云centos安装oracle
目录 阿里云centos安装oracle 阿里云默认没有swap分区,oracle安装需要 安装Oracle所需的依赖包 创建用户和组 关闭SELINUX(阿里云缺省关闭) 开始安装 使用" ...
- 阿里云centos postgresql9.4源码安装 精简步骤、问题解答
阿里云centos环境源码安装postgresql9.4 本文的安装步骤主要来源于http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.ht ...
- 阿里云centos安装svn和submin
概述 没有找到可以让团队方便使用的云盘,暂时搭建一个svn凑合用一下 svn有三种安装方式 安装方式 服务程序 服务协议 用户和密码 授权 系统配置 svn独立安装 svnserve svn pass ...
随机推荐
- ASP.NET Core 中间件(Middleware)详解
什么是中间件(Middleware)? 中间件是组装到应用程序管道中以处理请求和响应的软件. 每个组件: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下一个组件之前和之后执行工作. 请 ...
- Highway LSTM 学习笔记
Highway LSTM 学习笔记 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2016-4-5 声明 1)该Dee ...
- jdk动态代理举例
JDK动态代理是基于接口的代理,下面举例说明 代理类:proxy,代理动作必须要基于一个proxy实例来执行 代理执行类:实现InvocationHandler,案例中是TestInvocationH ...
- springboot命令启动
gradle打jar包命令 jar { doFirst { def jarFiles = ''; configurations.compile.collect { jarFiles += it.nam ...
- 浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案
项目中有用到文件下载功能,之前在处理下载时对IE浏览器下文件下载名进行过处理,测试也没有问题,但是功能上线后,业务反馈IE11文件下载文件名依然乱码.打印User-Agent字符串如下: IE11 U ...
- Lua 数组排序 table.sort的注意事项
1. table中不能有nil table.sort是排序函数,它要求要排序的目标table的必须是从1到n连续的,即中间不能有nil. 2. 重写的比较函数,两个值相等时不能return true ...
- ES6字符串方法
ES6字符串提供三个函数确定一个字符串是否包含在另一个字符串中,分别是includes().startsWith().endsWith(),这三种方法都返回一个布尔值. includes()方法表示是 ...
- HTML5 进阶系列:拖放 API 实现拖放排序(转载)
HTML5之拖放API实现拖放排序 前言 HTML5 中提供了直接拖放的 API,极大的方便我们实现拖放效果,不需要去写一大堆的 js,只需要通过监听元素的拖放事件就能实现各种拖放功能. 想要拖放某个 ...
- C++ 头文件系列(set)
简介 头文件包含set.multiset两个类模版,这里要描述的概念与map非常相似,甚至连成员函数都几乎一样,所以这篇随笔会很短. set set如果翻译成中文应该是集合的意思,这里更确切的说是唯一 ...
- Vuejs环境安装与工程建立【小白Windows向】
不知道为什么CDN的方式就是困难...大佬说SPA必须配置本地开发环境,那就配咯. 所以就准备了以下的工具进行安装本地开发环境: 1. 代码编辑器×1[本人使用VSCode 1.11] 2. Node ...