簡體   English   中英

Symfony 3 MySQL驅動程序“找不到驅動程序”

[英]Symfony 3 MySQL driver 'could not find driver'

實際上,我在使用Symfony 3和PDO驅動程序時遇到了一些困難。

這是我的第一個使用Symfony 3的項目(在此之前我使用過Symfony 2),當我想使用Doctrine或FOSUserBundle時出現此錯誤:

找不到驅動程序

500內部服務器錯誤-PDOException

我檢查出什么問題了,我發現這是由/ path-to-project / vendor / doctrine / dbal / lib / Doctrine / DBAL / Driver / PDOMySql引發的錯誤

當PDO類無法訪問數據庫服務器時,這是一個簡單的PDOException拋出。 但是我可以使用“ $> php test.php”執行此代碼而不會出現問題

$pdo = new PDO("mysql:dbname=Accounting;host=127.0.0.1","<user>", "<secret>");
$sql = 'SELECT * FROM Accounting.fos_user;';
echo count($pdo->query($sql));

並且此錯誤由相同的代碼引發,由Symfony 3執行(由Doctrine進行並在簡單的Controller中進行了測試)。


這是我的參數:

 # app/config/parameters.yml parameters: database_driver: pdo_mysql database_host: 127.0.0.1 database_port: 3306 database_name: Accounting database_user: <user> database_password: <secret> # app/config/config.yml # Doctrine Configuration doctrine: dbal: driver: "%database_driver%" host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 # if using pdo_sqlite as your database driver: # 1. add the path in parameters.yml # eg database_path: "%kernel.root_dir%/data/data.db3" # 2. Uncomment database_path in parameters.yml.dist # 3. Uncomment next line: # path: "%database_path%" orm: auto_generate_proxy_classes: "%kernel.debug%" naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: UserBundle\\Entity\\User 

編輯 2016年3月29日

操作系統配置:VM上的Ubuntu 14-04

我將回答我自己的問題。 發生此問題的原因是,我嘗試在容器上使用mysql pdo驅動程序使用symfony(形成虛擬化)。 當我在真實的VM (=完全虛擬化虛擬機)上使用相同的設置時,它可以正常工作。 找到了驅動程序,我們可以在Symfony 3項目中創建pdo。

測試了10/04/2016

泰·馬爾科姆(Ty malcolm)的幫助,我對您的學習有所幫助

問候,Dykoine

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM