⑴ 如何在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/