我正在開發PHP,並且有一個簡單的文件來測試各種功能。爲了方便這個,我想從命令行運行這個文件。這是一個問題,我不確定它是什麼。PHP PDO異常 - 僅當從終端運行
該代碼使用PDO。我有一個數據庫類,充當一個PDO包裝並強制執行一個單例設計模式。這門課很簡單。下面是一些相關的代碼:
// instance of PDO
private static $db = null;
//connection related fields
const dsn = "mysql:dbname=mydb;host=localhost";
const user = "myuser";
const password = "mypass";
//get access to the PDO instance
public static function get_instance()
{
if(!self::$db)
{
self::$db = new PDO(self::dsn,self::user,self::password);
self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$db->exec("set names utf8");
}
return self::$db;
}
現在,當我創建一個具有以下測試文件:
$db = Database::get_instance();
,並在命令行中,像這樣運行:
php5 ./testing.php
我收到一個異常: PDOException'帶消息'找不到驅動程序' 這是由實例化一個新的PDO對象的上述行引起的。
但是,如果我通過瀏覽器導航到此文件,並且它由我的Web服務器提供,它運行良好,該對象按預期工作。
這似乎是從終端運行PHP文件的問題。我不認爲這是代碼中的問題。任何人都可以提出什麼可能導致這一點?任何建議或幫助將真正被讚賞。謝謝。