⑴ 如何在php下开启PDO MySQL的扩展
1、进入PHP源码包里找到pdo_mysql扩展目录
[root@php ~]# cd ./php-5.6.7/ext/pdo_mysql/
2、用phpize生成配置文件,一定要跟上–with-php-config=/usr/local/bin/php-config
[root@php pdo_odbc]# phpize
[root@php pdo_odbc]# ./configure --with-php-config=/usr/local/bin/php-config
3、make && make install安装
[root@php no-debug-non-zts-20131226]# ls
bcmath.so gd.so opcache.a pdo_odbc.so
calendar.so mcrypt.so opcache.so pdo_mysql.so
curl.so memcache.so openssl.so posix.so
4、php.ini配置加载pdo_mysql.so扩展。
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so
5、重启apache,使用phpinfo()函数查看。
⑵ php.ini 中 php_mysql.dll 与php_pdo_mysql.dll的关系是啥
这两句话分别控制mysql函数库和pdo函数库的是否启用,如一楼所说亩销,默认情况是不支持灶悉的,需要启用时需把前面的分迅辩游号去掉。
⑶ 请教关于php中使用pdo进行mysql语句的预处理来防止注入的问题
$pdo=newPDO(//配置);
$sql='=:condition';
$r=$pdo->prepare($sql);
$r->execute(array(':condition'=>$param));
//这里把参数直接以数组的形式传进去,其余工作prepare会自动帮你完成
//prepare的工作就是预先处理sql语句预防可能出现的注入,不然怎么会叫预处理呢
⑷ PHP安装PDO的时候,pdo.so和pdo_mysql都生成了,也复制并写到php.ini里面了但phpinfo里面还是不支持!为什么
显然是两个问题导致的
pdo.so 文件有误,去正规网站下载一个,100多K应该缺少东西
数据库 你要连接的是pdo_mysql 还是pdo_sqlite ,mysql和sqlite是不同的数据库
⑸ 为什么说PHP必须要用PDO
根据PHP官方计划,PHP6正式到来之时,数据库链接方式统一为PDO。但是总有一小撮顽固分子,趁PHP官方还没正式统一时,还用老式的MYSQL驱动链接数据库。即使现在有部分程序改用Mysqli/pdo,只要没用到预编译,均和老式的Mysql驱动没多大区别。在此,我就不点评国内的PHP生态环境了。
回归主题,为什么说PHP必须要用PDO?除了官方要求之外,我认为作为PHP程序员,只要你目前是做开发的话,那么请选择用PDO的程序/框架!PDO除了安全和万金油式数据库链接,还有一点是我目前觉得非常好用的!下面我就用我最近的切身体会来说。
业务环境:公司某老架构,数据库设计的人员太菜了,设计过程完全没有按照数据库范式进行。各种表中使用大量的序列化形式保存(补充:json同理)。
出现问题:销售的客服反馈,网站某用户在编辑地址时,Mysql报错了。
问题猜想:不用说了。肯定是引号,反斜杠引起序列化入库不正常。
⑹ linux中 php怎样开启pdo扩展
pdo扩展模是有蛮多了,如pdo_mysql也是pdo模块中的一个了,下文我们就以安装pdo_mysql为示例帮助大家介绍一下安装步骤吧,其它的pdo扩展模块安装步骤也可以一样。
假设php目录为/usr/local/php
mysql目录为/usr/local/mysql
1. 进入PHP源码包ext/pdo目录(http://hounwang.com/lesson.html)
cd ext/pdo
2. 执行/usr/local/php/bin/phpize[假设PHP的安装目录为/usr/local/php]
/usr/local/php/bin/phpize
3. 配置扩展pdo
./configure --with-php-config=/usr/local/php/bin/php-config --enable-pdo=shared
4. 编译 && 安装pdo
make && make install
成功则出现
Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/
Installing header files: /usr/local/php//include/php/
Installing PDO headers: /usr/local/php//include/php/ext/pdo/
说明在/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目录下生成了pdo.so文件
5. 在PHP源码包中进入pdo_mysql
cd ext/pdo_mysql
6. /usr/local/php/bin/phpize
/usr/local/php/bin/phpize
7. 配置pdo_mysql[假设Mysql的安装目录为/usr/local/mysql]
1./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
8. 编译 安装pdo_mysql
make && make install
成功则出现
Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/
说明的/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目录下生成了pdo_mysql.so文件
9. 在php配置文件中加上
extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so";
extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo.so";
10. 重启相关服务
/etc/init.d/php-fpm restart
更多问题到问题求助专区http://bbs.hounwang.com/