LAMP环境搭建系列之五:编译安装php5.6.32

首先我们需要将 php-5.6.32.tar.gz 上传至虚拟机/data/ide目录下,同时还上传了libmcrypt-2.5.8.tar.gz,mhash-0.9.9.9.tar.gz,mcrypt-2.6.8.tar.gz,libiconv-1.14.tar.gz 主要用于加密和转码!

我们先yum安装依赖包:

 

yum -y install gd-devel libjpeg libjpeg-devel libpng libpng-devel libxml2 libxml2-devel freetype freetype-devel 
gettext-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel  libtool-ltdl libtool-ltdl-devel libicu-devel

之前我们手动安装了 pcre,其实也可以yum安装,即:yum -y install pcre pcre-devel

接下来,我们安装上面提到的加密和转码库:

 

cd /data/ide
tar zxvf libmcrypt-2.5.8.tar.gz
tar zxvf mhash-0.9.9.9.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
tar zxvf libiconv-1.14.tar.gz

cd /data/ide/libmcrypt-2.5.8
./configure
make && make install

cd /data/ide/mhash-0.9.9.9
./configure
make && make install

cd /data/ide/mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/lib ./configure 
make && make install

cd /data/ide/libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install

安装完毕后,我们更新一下动态链接库,这样编译安装php的时候,就能够找到上面的依赖。

 

 

vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
:wq
ldconfig 

其实就是添加了:/usr/local/lib
安装PHP的时候,我们需要了解Apache服务器运行PHP的工作方式:
1.Apache Handler方式(php作为Apache服务器的Module)
将php解释器做成模块,然后加载到apache服务器中。这样,apache服务器在启动的时候,就会同时启动php模块。
当客户端请求php文件时,apache服务器就不用再fork出一个新进程来启动php解释器,而是直接将php文件交给运行中的php模块处理。
2.CGI模式
Web服务器一般只处理静态文件请求(如 jpg、htm、html),如果碰到一个动态脚本请求(如php),web服务器主进程,就fork出一个新的进程来启动CGI程序,
也就是说将动态脚本请求交给CGI程序来处理。这种工作方式的效率是非常低下的。
3.FastCGI模式,FastCGI模式根据进程管理器的不同可以分为:Apache内置进程管理器,php-fpm进程管理器
mod_fcgid是一个跟mod_fastcgi二进制兼容的Apache module,是apache的fastcgi实现,在apache的2.4以后的版本中得到支持。
php-fpm就是php中的FastCGI进程管理器。

 

php-fpm协同apache使用的话,编译php时候只需要去掉“--with-apxs2=/xxx/xxx/bin/apxs”, 加入“--enable-fpm”!

备注:php-fpm是常和nginx搭配使用的程序,经常替代apache+mod_cgi以及apache+mod_php的重要原因。

这里,我们仍然使用第一种方式来安装php,下一篇我们介绍Nginx搭配php-fpm工作!

// 创建php安装目录和配置文件目录
mkdir /data/server/php
mkdir /data/server/php/etc

cd /data/ide
tar zxvf php-5.6.32.tar.gz
cd php-5.6.32

./configure --prefix=/data/server/php \
--with-config-file-path=/data/server/php/etc \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-apxs2=/data/server/httpd/bin/apxs \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-sockets \
--enable-zip \
--enable-calendar \
--enable-intl \
--enable-soap \
--enable-xml \
--enable-ftp \
--enable-shmop \
--enable-sysvsem \
--enable-mbstring \
--enable-exif \
--enable-opcache \
--enable-bcmath \
--with-gettext \
--with-zlib \
--with-bz2 \
--with-iconv-dir=/usr/local/libiconv \
--with-gd \
--with-xmlrpc \
--with-curl \
--with-mhash \
--with-mcrypt \
--with-openssl \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-libxml-dir \
--disable-ipv6 \
--disable-debug \
--disable-rpath

make && make install

编译PHP时加上–with-apxs2=/xxx/xxxx/bin/apxs 参数则是把PHP作为Apache模块运行。

 

我们打开 httpd.conf 就能找到如下配置:

LoadModule php5_module        modules/libphp5.so
接下来我们还需要修改apache配置文件httpd.conf,让其支持PHP文件类型:

vi /data/server/httpd/conf/httpd.conf

<IfModule mime_module>

AddType application/x-httpd-php .php

</IfModule>

:wq

其实就是向mime模块配置中添加:AddType application/x-httpd-php .php
我们在apache默认web目录下写入一个phpinfo文件,重启apache!

 

 

点击下载用到的源码包:  http://download.csdn.net/download/konkon2012/10126484

 

 

tar zxvf php-5.6.37.tar.gz cd php-5.6.37 #添加组 groupadd www #添加php-fpm用户 useradd -c php-fpm-user -g www -M www # c和c++编译yum -y install -y gcc gcc-c++ # PHP扩展依赖 yum install -y libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm\ --with-fpm-user=www\ --with-fpm-group=www\ --enable-mysqlnd\ --with-mysql=mysqlnd\ --with-mysqli=mysqlnd\ --with-pdo-mysql=mysqlnd\ --enable-opcache\ --enable-pcntl\ --enable-mbstring\ --enable-soap\ --enable-zip\ --enable-calendar\ --enable-bcmath\ --enable-exif\ --enable-ftp\ --enable-intl\ --with-openssl\ --with-zlib\ --with-curl\ --with-gd\ --with-zlib-dir=/usr/lib\ --with-png-dir=/usr/lib\ --with-jpeg-dir=/usr/lib\ --with-gettext\ --with-mhash\ --with-ldap make && make install cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm # 设置php-fpm开机自动启动 chmod +x /etc/init.d/php-fpm chkconfig php-fpm on cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf service php-fpm start 设置php为全局命令: 修改/etc/profile文件使其永久性生效,并对所有系统用户生效, 在文件末尾加上如下两行代码: PATH=$PATH:/usr/local/php/bin //php命令路径 如果还要同时加入mysql 则第一句: PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin //路径一定要正确 执行 命令source /etc/profile 使用php -V确认 【查看php-fpm端口】 vim /usr/local/php/etc/php-fpm.conf listen = 127.0.0.1:9000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咆哮的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值