1、下载解压php,config
12 | tar zxvf php-xxxx . /configure --prefix= /usr/local/php --with-mysql= /usr/local/mysql --with-openssl --with-mysqli= /usr/local/mysql/bin/mysql_config ##php与mysql 连接需要## --enable-mbstring ##支持其他字符## --with-freetype-dir ##字体库## --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/httpd/bin/apxs ##把php添加成apache模块## --with-mcrypt ##支持加密## --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts |
如果要支持fastcgi,把
--with-apxs2=/usr/local/httpd/bin/apxs
改成--enable-fpm
解决mcrypt看上一篇文章,编译错误2次:
yum install -y libxml2 libxml2-devel
yum install -y bzip2 bzip2-devel
说明:
1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。
2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
2、make&&make install
过程省略
3、为php提供配置文件
在php源码包里有php.ini-production
cp php.ini-production /etc/php.ini
编辑apache配置文件httpd.conf,让apache支持php
vim /etc/httpd/httpd.conf
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
重启httpd
测试php
123 | <?php phpinfo(); ?> |
测试php是否与mysql连接正常
1234567 | <?php $con =mysql_connect( 'localhost' , 'root' , '' ); if ( $con ) echo "success.." ; else echo "failure..." ; ?> |
另外,centos 6.0自带安装的php编译的时候是--without-mysql ,查看/usr/lib/php/modules/里面根本没有mysql.so。解决办法。
yum install -y php-mysql-5.1.6-20.el5.i386.rpm php-pdo-5.1.6-20.el5.i386.rpm
ls /usr/lib/php/modules/
dbase.so ldap.so mysqli.so mysql.so pdo_mysql.so pdo.so pdo_sqlite.so phpcups.so
mysql.so存在了。
配置/etc/php.ini,添加
extension=mysql.so
extension=mysqli.so
extension=pdo_MySQL.so
保存,重启httpd,mysql
共同学习,写下你的评论
评论加载中...
作者其他优质文章