2012-08-07 80 views
0

我敢肯定,這是簡單的,我忽略了,但它讓我有點瘋狂。我在運行LAMP的Ubuntu機器上。我使用Php/MySql在這臺機器上運行的幾個站點沒有麻煩。我最近開始使用Yii框架的網站,但我不認爲這是Yii quesiton。也許是。無論如何...PHP PDO未能打開流

我的其他網站使用mysqli,所以Yii的PDO要求對我來說是新的。我在PDO上做了一個快速的-i | grep,它在安裝/啓用時回來,所以不用擔心。我安裝了框架,創建了一個快速測試網站和數據庫。但是,當我嘗試通過站點連接到數據庫時,出現錯誤,告訴我PDO失敗。具體來說,未能打開流。所以即使安裝了PDO也沒有找到PDO。 Yii站點與其他站點位於同一個Web文件夾中,因此不會出現路徑問題。從Yii的角度來看,如果問題出在哪裏......我能夠爲Gii中的各種數據庫表創建控制器,但是當我試圖爲那些產生CRUD的人創建控制器時,無法打開流錯誤表。

爲了記錄,是的,在Yii main.php文件中啓用了MySql。是的,連接字符串是正確的。對於爲什麼如果PDO列爲啓用時PDO無法打開,我有點不知所措。

+0

你打開連接的代碼是什麼? (很明顯混淆了敏感信息) – Matt 2012-08-07 18:33:02

+2

你有使用phpInfo檢查以確保服務器實際上使用PDO?特別是MySQL版本? – 2012-08-07 18:34:02

+0

有效的問題。事實證明,我不知道。這一點有點令人困惑。 PDO在CLI中顯示爲啓用,這就是爲什麼當我執行php -i | grep PDO時顯示爲啓用。但是,它不顯示在PHP(信息)。當然,CLI和Web服務器運行到不同的.ini文件。但是,當我比較兩個.ini文件時,它們完全相同,即PDO所關注的字符。這對我來說沒有意義。 – 2012-08-07 19:18:48

回答

0

發佈這只是爲搜索引擎。我仍然不知道問題可能是什麼。正如我所提到的,PDO從CLI中顯示爲啓用,但不是來自phpinfo。這是可能的,因爲CLI使用與apache2不同的php.ini。但是,在完全重新安裝php之後,我仍遇到同樣的問題。我再次在gedit中打開了兩個.ini文件,並在「pdo」中使用了一個非大小寫敏感的查找行,並與它們一致。他們絕對完全一樣。最後,我放棄了試圖理解這個問題,只是爲了簡單的解決。我從Apache2中刪除了.ini,並用cli中的替換了它,瞧!我在Apache2中啓用了PDO。我仍然完全不知道問題是什麼,但至少它已經解決了。

相關問題