リモートのSQLサーバに接続しようとしましたが、コマンドラインから成功しました。 php -i | grep PDO
を実行している場合は、コマンドラインからPHPスクリプトを実行しているとき、私は symfonyのphpとコマンドラインから実行されたphpが異なるドライバをロードしています
PDO
PDO support => enabled
PDO drivers => sqlsrv, dblib, mysql
PDO Driver for FreeTDS/Sybase DB-lib => enabled
PDO Driver for MySQL => enabled`
を取得し、私は何の問題は、リモートDBに接続することはできません。私はsymfonyにおいて
phpinfo()
を実行すると、私はコマンドラインから
phpinfo()
を実行すると、私のsymfonyのアプリケーションでそのまったく同じコードを実行しているとき、私は
[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[01002] Adaptive Server connection failed (severity 9)
を取得し、起動しただけPDOドライバはmysql
あり、I mysql、sqlsrv、dblibを取得する
symfonyに読み込まれないpdoドライバはいくつかありますか?
編集:DBがsymfonyで正しく設定されているため、php bin/console doctrine:query:sql "SELECT * FROM my_table"
が結果を返します。 symfonyのエラーで "ドライバをロードできませんでした"と同じクエリが実行されました
の使用についてです。 phpininiを実行し、phpinfo – Cerad
@ceradでリストされたパスと比較すると、両方とも '/ etc/php/7.0/cli/php.ini'がロードされた設定ファイルとして表示されます –
有効になっているモードは異なる場合もあります。 /etc/php/7.0/apache/fpmまたはその他のフォルダを確認して、pdo modがcliフォルダ内にあるように有効になっているか確認してください。 – mickadoo