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安装目录和配置文件目录 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 --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
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了