web-dev-qa-db-ja.com

Symfony 3-ドライバーで例外が発生しました:ドライバーが見つかりませんでした

私はsymfony 3を試してみて、Doctrine ORMを使用してデータベースにデータを挿入しています。クエリを実行しようとすると

$customer = new Customer();
$customer->setAddress('Some Address');
$customer->setName('Customer 1');

$order->setQuantity('100');
$order->setDate(date('Y-m-d'));
$order->setCustomer($customer);

$em = $this->getDoctrine()->getManager();
$em->persist($customer);
$em->persist($order);
$em->flush();

しかし、それは例外を返します:

Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred in driver: could not find driver" at /home/hei/Sites/practice/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 121

Parameters.yml:

parameters:
    database_Host: 127.0.0.1
    database_port: null
    database_name: practice
    database_user: root
    database_password: null

Config.yml

doctrine:
    dbal:
        driver: pdo_mysql
        Host: '%database_Host%'
        port: '%database_port%'
        dbname: '%database_name%'
        user: '%database_user%'
        password: '%database_password%'

また、拡張機能が有効になっていて、php -mおよびphpinfo()でロードされているかどうかも確認します。 PDOおよびPDO_Mysqlが有効になっていると表示されます。

次に、php.iniに次の2行を追加します。

extension=pdo.so
extension=pdo_mysql.so

しかし、私はまだ同じPDO例外を受け取りました。

私のOSはUbuntu 17.1です

5
Ricardo Raz

OSを再起動するだけで問題を解決できました。

0
Ricardo Raz

システムにphp-mysqlパッケージがないと思います。コマンドを使用してパッケージをインストールします

Sudo apt-get install php-mysql

これで問題が解決することを願っています。

この問題を解決するには、Apacheも再起動する必要があると思います。 php-mysqlのインストール後、次のコマンドを使用してApacheを再起動します

 Sudo service Apache2 restart.
14
Nightfox

私の場合(Windowsの場合) mysql driver をインストールしました。

0
MRustamzade

私にとっては、これらの2行を/etc/php/5.6/cli/php.iniに追加しました。

/ usr/lib/php/5.6/php.ini-development

extension=pdo.so

extension=pdo_mysql.so

それから:

Sudo service Apache2 restart

その後、エンティティをデータベースにフラッシュできました。

これが将来、他の誰にも役立つことを願っています。

0
Vikas Khatana

まず、MySQLのポート番号をnullから3306に変更する必要があります。それでおしまい。 MySQLパスワードを持っていないので、何も書いていません。

良い一日を過ごしてください。

0
user7271330

WAMPServerおよびおそらく他の構成では、個別のphp.ini PHPのコマンドライン。正しい.ini(理想的には両方のini)でモジュールを有効にしていることを確認してください

0
Vael Victus

私のシステム(Fedora)では、php-mysqlndというパッケージが必要でした。以下を実行してインストールしました:

dnf install php-mysqlnd
0
Harry Wagstaff