在编译安装php时需要安装一下软件
yum install -y zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
安装好后需要编译安装libiconv-1.14.tar 这里版本以1.14为列 yum安装不上
./configure --prefix=/usr/local/libiconv/
make
make install
安装好以上模块后安装php
./configure \
--prefix=/application/php5.3.27 \
--with-apxs2=/application/apache/bin/apxs \ 注意:和apache的安装目录一致
--with-mysql=/application/mysql \ 注意:和mysql的安装目录一致
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \ 注意与之前编译安装的libiconv的安装目录一致
--enable-short-tags \
--enable-sockets \
--enable-zend-multibyte \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
注意:因为我所安装的php是为lamp所服务,所以php所对应的apache目录和mysql的目录一定对应一致。在./configure时,可能会遇见错误,大致都是因为少对应的模块而报错,yum安装就好了。
安装好后的最后三行如下:
/usr/local/tools/php-5.3.27/build/shtool install -c ext/phar/phar.phar /application/php5.3.27/bin
ln -s -f /application/php5.3.27/bin/phar.phar /application/php5.3.27/bin/phar
Installing PDO headers: /application/php5.3.27/include/php/ext/pdo/
这时,可以查看可以查看apache中是否插入php模块
[root@node1 application]# ll /application/apache/modules/
-rw-r--r-- 1 root root 9115 05-03 03:54 httpd.exp
-rwxr-xr-x 1 root root 22991145 05-04 11:24 libphp5.so
[root@node1 application]# grep libphp5 /application/apache/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
将php的主配置文件复制到相对应的文件路径下:
cp /usr/local/tools/php-5.3.27/php.ini-production /application/php/lib/php.ini
[root@node1 application]# ll /usr/local/tools/php-5.3.27/php.ini*
-rw-r--r-- 1 101 ecryptfs 69606 2013-07-11 /usr/local/tools/php-5.3.27/php.ini-development
-rw-r--r-- 1 101 ecryptfs 69627 2013-07-11 /usr/local/tools/php-5.3.27/php.ini-production
该目录下有两个配置文件,development是开发版的配置文件,production是生产环境所需要的配置文件,两个配置文件的区别就是development的配置文件开启了许多报错日志,方便开发人员查看,而development配置文件关闭了这些报错日志,不允许用户查看这些报错日志,防止黑客攻击。