php5.6源码安装及php-fpm配置与nginx集成

LNMP环境的搭建中,如今只有php没有源码安装过。这篇文章就把这个介绍下。php

注意本篇文章使用的centos 6.5 64bit。html

登录centos下载php5.6的安装包。php的软件包能够去国内的souhu镜像站点去下载。mysql

wget http://mirrors.sohu.com/php/php-5.6.2.tar.gznginx

clip_image001[4]

在安装以前,咱们须要安装php5.6编译时所依赖的软件包。以下:c++

yum -y install gcc gcc-c++ libxml2 libxml2-develsql

clip_image002[4]

clip_image003[4]

以上软件包安装完毕后,咱们如今来解压刚刚下载的php5.6源码包。使用以下命令:数据库

tar -xf php-5.6.2.tar.gzcentos

clip_image004[4]

进入php5.6的解压目录,如今开始配置php5.6,使用以下命令:api

cd php-5.6.2app

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --with-iconv-dir --with-freetype-dir=/data/apps/libs --with-jpeg-dir=/data/apps/libs --with-png-dir=/data/apps/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts --with-libdir=lib64

clip_image005[4]

若是没有错误的状况下,配置完毕后。系统会出现以下的提示信息:

clip_image006[4]

注意上述命令中--enable-fpm的做用是开启php的fastcgi功能即开启php-fpm功能,--with-mysql=/usr/local/mysql是启用php支持mysql的功能,/usr/local/mysql是mysql数据库的安装路径。

--enable-mbstring表示启用mbstring模块mbstring模块的主要做用在于检测和转换编码,提供对应的多字节操做的字符串函数。目前php内部的编码只支持ISO-8859-*、EUC-JP、UTF-8,其余的编码的语言是没办法在php程序上正确显示的,因此咱们要启用mbstring模块。

同时咱们也只是简单的开启和扩展php的一部分功能,其余须要的功能,请自行添加。

配置完毕后,咱们如今来编译php,使用make命令,以下:

make

clip_image007[4]

php编译的时间比较长,根据机器的性能不一样须要等待10-20分钟左右。编译完毕后的截图,以下:

clip_image008[4]

编译完毕后,咱们如今开始安装php,使用以下命令:

make install

clip_image009[4]

安装完毕后,咱们能够经过php –v命令查看是否安装成功。以下:

php –v

clip_image010[4]

经过这样安装完毕后,你会发如今/usr/local/lib目录下没有php.ini文件。在这咱们就先复制php安装文件提供的模版,以下:

cp php.ini-production /usr/local/lib/php.ini

clip_image011[4]

注意php.ini文件通常在/usr/local/lib/和/etc目录下。有关php安装完毕后,没有php.ini文件的,咱们再另一篇文章再介绍。

不要觉得到这php的安装就完毕了,LNMP环境中的nginx是不支持php的,须要经过fastcgi来处理有关php的请求。而php须要php-fpm这个组件来支持。

在php5.3.3之前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3之后的php-fpm只须要在安装php-fpm开启这个功能便可。这个也就是前边,咱们再配置php使用到的那个命令--enable-fpm。

php-fpm功能开启后,咱们还须要配置php-fpm。其实php-fpm的配置文件在安装php时,已经为咱们提供了一个配置文件的模版。该模版为/usr/local/etc/php-fpm.conf.default,以下:

more /usr/local/etc/php-fpm.conf.default

clip_image012[4]

咱们如今只须要复制一份该文件,并重命名为php-fpm.conf,以下:

cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

clip_image013[4]

为了让php-fpm已服务的形式启动。咱们须要复制php安装目录下/sapi/fpm/init.d.php-fpm文件。以下:

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

clip_image014[4]

经过上图,咱们也能够很清楚的看到php-fpm文件目前没有执行权限。赋予php-fpm执行权限,并启动php-fpm,以下:

chmod a+x /etc/init.d/php-fpm

/etc/init.d/php-fpm start

netstat -tunlp |grep 9000

clip_image015[4]

经过上图,咱们能够很明显的看到php-fpm已经正常启动。

注意php-fpm默认监听的是9000端口。

如今再来配置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;

}

clip_image016[4]

而后在nginx的网站根目录下新建index.php文件内容以下:

vi /usr/local/nginx/html/index.php

<?php phpinfo(); ?>

clip_image017[4]

如今来启动nginx,以下:

/usr/local/nginx/sbin/nginx

netstat -tunlp |grep 80

clip_image018[4]

nginx启动完毕后,如今来访问网站,以下:

clip_image019[4]

clip_image020[4]

经过上图,咱们能够很明显的看到。php目前已经安装成功,而且也成功的支持mysql数据库。同时也与nginx集成完毕。

至此。咱们的php5.6的安装到此结束。

相关文章
相关标签/搜索