(PHP 5.3.29)
网站php代码是用pdo模块去访问mysql数据库
#查看php中pdo是否支持mysql php -m | grep -i pdo_mysql
#何为pdo
POD(PHP Data Object)扩展在PHP5中加入,PHP6中将默认识用PDO连接数据库,所有非PDO扩展将会在PHP6被从扩展中移除。该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
#下载pdo_mysql源码
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar -zxv -f PDO_MYSQL-1.0.2
cd PDO_MYSQL-1.0.2
/usr/local/bin/phpize #必须安装有 m4 autoconf
./configure --with-php-config=/usr/local/bin/php-config --with-pdo-mysql=/usr/local/mysql
make &&make install
#pdo_mysql.so移动到/usr/lib64/php/modules/
find / -name pdo_mysql.so -type f -exec mv {} /usr/lib64/php/modules/ \
#模块加入到php中
vim /usr/local/lib/php.ini
extension_dir = "/usr/lib64/php/modules/"
extension = "pdo_mysql.so"
#重启apache
apachectl -k restart
php模块安装的方式1、静态安装
将先将在安装php之前先将需要安装的程序装上,如ftp、mhash、mcrypt……安装完成后,解压php安装包,执行./configure
--with-ftp
--with-mhash
--wth-mcrypt等等。后面具体跟的参数可以参看./configure
--help查看。编译好后,执行make
&&
make
install
就行了。
2、动态安装
而在往往我们进行编译php时经常会忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想再重新装php,于是可以采用phpize来动态加载需要安装的模块。
具体实现方法如下(这里以忘记安装pdo_mysql模块为例):
cd
/root/source/php-5.3.10/ext/pdo_mysql
/usr/local/php/bin/phpize
在安装完mysql后,并不是进入/root/source/mysql-5.5.21目录运行phpize,而是进入php的源文件中要增加的扩展模块的文件目录---也就是/root/source/php-5.3.10/ext/pdo_mysql目录执行phpize。如果不是这样 *** 作的话就会提示下面的错误:
Cannot
find
config.m4.
Make
sure
that
you
run
'/usr/local/php/bin/phpize'
in
the
top
level
source
directory
of
the
module
关于上面的这个错误,我不得不鄙视下网上有些自以为是的家伙,自认为对所有的安装 *** 作很懂,报上面的错误的时候,去修改源代码,搞的乱七八糟,误人子弟。根本不按php官方的文档 *** 作。
目录/root/source/php-5.3.10/ext/pdo_mysql
,在运行phpize命令前并没有configure文件,只有config.m4文件。运行phpize就生成了一个可执行的configure文件。此时就可以按照下的方法编译了:
./configure
--with-php-config=/usr/bin/php-config
(还可以加一些其他的参数,可通过./configure
--help查看)
make
make
install
编译完成后会提示扩展模块生成在/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626目录。
修改php.ini文件
vi
/usr/local/php/etc/php.ini
在其文件结尾加入下面的内容:
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626"
extension=pdo_mysql.so
安装完成后,重启php-fpm和web服务器。(因为我用的是php-fpm和tengine,如果用的是apache则也重启相应的程序,重新加载就行了)
PDO使用扩展库实现其功能,但PHP5默认未启用PDO,因此必须在php.ini中进行配置才能使用PDO。搜索php.ini,找到下面的这一行文本:Windows Extensions
extension=php_pdo.dll
这是所有PDO驱动程序共享的扩展,必须得有。然后,就看你使用什么数据库,如果使用MySQL,那么添加下面的一行:
extension=php_pdo_mysql.dll
由于我们要使用MySQL和Access,所以要激活MySQL驱动和ODBC驱动程序:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
不用谢。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)