我測試了一下,發現是在建立 PDO 物件的時候,拖慢了,
其它執行 SQL 的地方,則都正常。
再拿我自己的程式測試,發現沒有變慢的情況。
兩者比較之下,發現是 PDO 的 DSN 設定不一樣,
DSN 的 host 若填 localhost,便會變慢(new PDO建立連線就超過1秒),填 127.0.0.1 速度就正常。
再做了其他測試後,得到以下結果:
在 PHP 5.2.17, PDO 的連線 host 不管用 localhost 或 127.0.0.1,速度都是正常的
但在 PHP 5.4 (我試了 PHP 5.4.7、PHP 5.4.12),連線 host 設定 localhost 時,就會變慢。
解決方式:
- 方法一:將 PDO 連線 host 的設定改為 127.0.0.1,不要用 localhost
- 方法二:修改 C:\Windows\System32\drivers\etc\hosts 檔。
將
# 127.0.0.1 localhost
的註解拿掉,改成
127.0.0.1 localhost
我在 winXP 上面也做了測試,php 5.4 似乎就不受系統 hosts 設定檔的影響了。
沒有留言:
張貼留言