2016-09-01 70 views
2

所以,我昨天開始使用symfony,並且在教程之後,我碰到了數據庫之一。Symfony db交互; PDOException:找不到驅動程序

執行完以下步驟(創建實體並使用控制檯命令創建表格)後,現在可以將實體保留在表格中了。

// Entity setup 
$rep = new Entity\Reparto(); 
$rep->setDescrizione("Standard rep"); 
$rep->setTipo("0"); 
$rep->setIdAzienda(0); 

// DB operation 
$em = $this->getDoctrine()->getManager(); 
$em->persist($rep); <-- Error here 
$em->flush(); 

return new Response("Saved!"); 

這是我調用的控制器;
在我收到兩次行$em->persist($rep),但以下情況除外:

"PDOException: could not find driver" 

通過刪除這一行,沒有異常拋出,但顯然沒有任何反應

我已經檢查了php.ini文件(這裏只有一個):
我註釋掉extension=php_pdo_mysql.dll

php -m同時顯示PDO和PDO_MYSQL

我運行在composer上安裝的Symfony(3.1)的最新版本,在php 5.5.38,5.6.18和7.0.3上都運行在Windows 10 64位上。
當您創建一個simfony項目時,整個事情正在下載的專用網絡服務器上運行。

+0

你重新啓動的php-fpm的和nginx的? –

+0

是的,當我試圖在UWamp上嘗試它時,我多次重複使用UWamp,PHP引擎和計算機本身(我在PC上運行它),但無濟於事 – Vkfan

+1

如果您運行'phpinfo )',它是否顯示'pdo_mysql'擴展被加載? –

回答

0

您的環境中安裝了多個PHP版本。

首先,看看Symfony使用的PHP版本,以及PDO mysql驅動程序是否啓用。

要做到這一點,最簡單的方法是查看指定版本(3.1.X)的symfony調試欄, 。

您將看到PHP的版本和對phpinfo的訪問。搜索一下,如果你有一句臺詞:PDO驅動程序:MySQL的

檢查您config.yml

doctrine: 
    dbal: 
     driver: pdo_mysql 
+0

謝謝,但它今天早上不知何故解決了,當我重新啓動電腦。 雖然我一次只啓用一個php版本,並且它們都顯示了PDO和pdo_mysql。 我不知道發生了什麼,但是非常感謝 – Vkfan

相關問題