php源码安装,并配置apache支持php
一、php安装准备环境
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y
这个用yum 不一定可以顺利下载,所以选择源码安装:
tar zxf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/libiconv make make install cd ../
在centos7的状态下安装的时候报错了,解决方法:http://blog.csdn.net/zsl10/article/details/52143713,在1010行
二、开始安装
./configure \ --prefix=/application/php5.3.27 \ --with-apxs2=/application/apache/bin/apxs \ #指定apache的bin/apxs路径,通过apxs来增加php扩展模块到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 \ --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
编译时遇到的问题:
1) Cannot find OpenSSL's <evp.h> yum install openssl openssl-devel 这个不一定需要#ln -s /usr/lib64/libssl.so /usr/lib/ 2)configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution yum -y install libxslt-devel
php的配置文件,php.ini-development php.ini-production 一个用于开发环境,一个用于生产环境,两者的区别主要有错误日志是否打开,如在开发环境可以打开,便于开发人员查看,生产环境不要打开,如果被黑客看见就会出现问题
拷贝php配置文件到php默认目录并更改文件名为php.ini
[root@server php-5.3.27]# cp php.ini-production /application/php/lib/php.ini
三、配置apache支持php
[root@server conf]# vim httpd.conf 1)311行,为了解析php页面 AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps 2)为了安全 [root@server conf]# useradd www -M -s /sbin/nologin 68 User www 69 Group www 3)默认的首页文件 168 <IfModule dir_module> 169 DirectoryIndex index.php index.html 170 </IfModule>
四、检验
1)检验apache与PHP是否正常 vim index.php <?php phpinfo(); ?> 2)检验php与数据库是否正常 <?php //$link_id=mysql_connect('主机名','用户','密码'); $link_id=mysql_connect('localhost','root','oldboy123') or mysql_error(); if($link_id){ echo "mysql successful by oldboy !"; }else{ echo mysql_error(); } ?>