Symfony bdal异常:找不到驱动程序



在命令行上,我得到了连接和所需的实体,这里没有驱动程序错误:

php bin/console dbal:run-sql 'select * from ourtest'

但是在web上我得到错误:

$this->connection->fetchAll('SELECT * FROM ourtest');

处理"App 程序命令 DocumentUpload DocumentUploadCommand"失败:driver: could not find driver

出现异常

我试着

php -m显示PDO, pdo_mysql, mysqli, mysqnd

从.env连接url:

DATABASE_URL = mysql://xxx: xxx@mysql-db: 3306/db_test_01 ? serverVersion = 8.0

doctrine.yaml:

doctrine:
dbal:
dbname:               db_test_01
host:                 mysql-db
port:                 3306
user:                 xxx
password:             xxx
driver:               pdo_mysql
version:              8.0

我的猜测是命令行和你的web服务器使用不同的PHP配置或不同的安装。

在你的web服务器上的一个文件中放置一个phpinfo()调用(不要在生产环境中这样做,因为它会将敏感数据暴露给任何访问该文件的人!)。在浏览器中打开该文件并检查PHP安装的位置。

在命令行中,您可以运行which php来查看PHP二进制文件的位置。

比较两者,看看您是否运行在相同的二进制文件上。如果确实相同,那么您应该检查web服务器使用的是哪个.ini文件。在.ini文件中,你应该找到mysql扩展名(pdo_mysql.so)的名称,它不应该被注释掉(没有前面的;)。

最新更新