一、环境
LAMP都是源码安装,PHP安装的时候没有配置pdo_mysql和mysqli,pdo是php5默认带的。
PHP5的源码都在,只需要把php5的模块功能扩展就可以了。
php源码目录:/usr/local/src/php-5.2.10
php安装目录:/usr/local/php/
php源码配置文件:/usr/local/php/bin/php-config
php程序配置文件:/usr/local/php/etc/php.ini
二、模块的编译安装
[root@anpc ~] cd /usr/local/src/php-5.2.10/ext/pdo
[root@anpc pdo] /usr/local/php/bin/phpize
[root@anpc pdo] ./configure --with-php-config=/usr/local/php/bin/php-config
[root@anpc pdo] make
[root@anpc pdo] make test
[root@anpc pdo] make install
[root@anpc ~] cd /usr/local/src/php-5.2.10/ext/pdo_mysql
[root@anpc pdo_mysql] /usr/local/php/bin/phpize
[root@anpc pdo_mysql] ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-
mysql=/usr/local/mysql
[root@anpc pdo_mysql] make
[root@anpc pdo_mysql] make test
[root@anpc pdo_mysql] make install
[root@anpc ~] cd /usr/local/src/php-5.2.10/ext/mysqli
[root@anpc mysqli] /usr/local/php/bin/phpize
[root@anpc mysqli] ./configure --with-php-config=/usr/local/php/bin/php-config --with-
mysqli=/usr/local/mysql/bin/mysql_config
[root@anpc mysqli] make
[root@anpc mysqli] make test
[root@anpc mysqli] make install
备注:
注意安装时目录的位置一定要正确,不然模块不能加载。
命令/usr/local/php/bin/phpize必须在安装的目录执行。
安装完后会产生三个so模块:
/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo.so
/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo_mysql.so
/usr/local/php/lib/php/extensions/no-debug-zts-20060613/mysqli.so
三、PHP配置文件的配置
更改php.ini配置,添加模块:
vi /usr/local/php/etc/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo.so
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo_mysql.so
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20060613/mysqli.so
服务重启:
service mysqld restart
service apached restart
四、环境测试:
1、php5环境查看(建立php函数):
vi phpinfo.php
<?php
phpinfo();
?>
访问phpinfo.php页面,查看模块扩展存不存在:
http://127.0.0.1/phpinfo.php
备注:
如果函数不能使用,更改配置开放函数的使用权限。
[root@anpc ~] vi /usr/local/php/etc/php.ini
disable_functions = phpinfo,passthru,.....
删除phpinfo这个函数保存即可。
[root@anpc ~] service apached restart
2、mysqli连接测试(建立网页测试连接)。
vi mysqlidb.php
<?php
$mysqli = new mysqli("localhost", "dbusername", "dbpassword", "dbname");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Host information: %s\n", $mysqli->host_info);
/* close connection */
$mysqli->close();
?>
访问建立的php测试页:
http://127.0.0.1/mysqlidb.php