CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境) – 飞嗨

CentOS 7源码编译安装最新版php5.6和nginx1.7.9及

mysql(搭建lnmp环境) – 飞嗨

突然,一不留神打开了php.net网站,点了一下download,靠,都已经php5.6 stable了,而我yum安装的php还是5.4版本的,太守旧了!嘿嘿,我是微软云的小白鼠,当年就多注册了个账号,还躺着个云服务器在睡觉呢,于是乎,私心想着搭建一个lnmp的备份服务器…源码编译安装,各种依赖包纠结,所以呢,mariadb(mysql)是yum安装的,php5.6和nginx1.7.9是源码安装的…装着装着,在跑./configure脚本的时候,又忘记启用enable curl等等常用扩展鸟,装完后,又去源码目录编译扩展,动态添加扩展… lnmp

一、安装mariadb(mysql)服务 yum install mariadb mariadb-server mariadb-devel

自从mysql被oracle公司收购后,mysql就有闭源收费的风险,所以,就有了社区版改装的mysql分支mariadb来规避这个风险。centos7开始,yum源的mysql全部都替换成mariadb的了。所以,mariadb是mysql的一个分支。不过貌似听说,google有一部分数据库也都已经迁移到mariadb了,真是要鄙视一下oracle公司,oracle数据库都这么赚了,还打着mysql的主意…

二、源码编译安装php5.6 1.下载php5.6 wget

http://cn2.php.net/distributions/php-5.6.5.tar.gz 纠结的是,刚安装好的centos 7连wget都木有,所以yum -y install wget然后再下载,,,

2.解压 tar -xvzf php-5.6.5.tar.gz 进入 cd php-5.6.5

3.运行./configure脚本,启用需要的扩展模块,并指定php的安装目录 ./configure –enable-fpm –enable-mbstring –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd

这一步很是关键的,我忘记指定–prefix,它默认也是给我安装在/usr/local/php,不过还是指定一下比较妥当。还有,在这里的时候只记得安装mbstring和fpm扩展,忘记curl和intl(有一个东东是用yii2框架做的,需要介个东东)了,不过忘了也木有关系,到时候在编译扩展,动态安装进去。不过为了能顺利一口气等下输出phpinfo页面,能让nginx支持php,一定要把–enable-fpm加上去,fpm是php的一个脚本管理器,貌似说php5.3版本以前,fpm只是一个补丁patch,要去patch这个目录找他,php5.3后呢,据说是转正了,php里面已经集成了,不是第三方包了。只要跟上–enable-fpm

安装完后就可以跑鸟…php链接mysql呢,这个东东也是必须要哒,–with-mysql是指定mysql的头文件,可以whereis mysql然后指定mysql的安装目录,不过php5.5后,直接用php提供的mysql驱动mysqlnd就口以了,据说这个驱动比mysql写的那个性能要好。。。巴拉巴拉。。。没有超大流量的站点,我是没能体会到………………. php5.6 ./configure

配置完后,如果没有错误的话,就话看到成功的信息了。如果提示缺什么扩展就装上xxx-devel开发包,再运行./configure ./configure结果

然后就是编译make了,我的服务器是3.5G内存的,双核cpu来着,花了貌似十多分钟编译吧 编译完成后,就是make install安装滴啦… make install结果 make install

运行php -v就口以看到php的版本信息啦,php 5.6最新版就安装上啦。

ok,到这里差不多的啦,但是还有php的配置文件php.ini呢,复制一份安装目录下的php.ini-development这个配置文件模板到php的目录。yum安装的php,php会去

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4