我刚刚安装了Debian Lenny与Apache, MySQL和PHP,我收到一个PDOException无法找到驱动程序。

这是它所引用的特定代码行:

$dbh = new PDO('mysql:host=')。DB_HOST。”;dbname = '。Db_name, db_user, db_pass)

DB_HOST、DB_NAME、DB_USER和DB_PASS是我已经定义的常量。它在生产服务器(以及我之前的Ubuntu server设置)上运行良好。

这与我的PHP安装有关吗?

在网上搜索也没有帮助,我得到的都是专家交流和例子,但没有解决方案。


当前回答

当添加这些到你的php.ini时,确保php_pdo.dll引用在db驱动dll之前,否则这也会导致这个错误消息。像这样加起来:

[PHP_PDO]
extension=php_pdo.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll

其他回答

sudo apt-get install php-mysql 

在ubuntu和PHP 7上运行良好

你检查你的php.ini(检查正确的位置与phpinfo()),如果MySQL和驱动程序安装正确?

您需要有一个名为pdo_mysql的模块。寻找以下在phpinfo(),

pdo_mysql

PDO Driver for MySQL, client library version => 5.1.44

问题是一个丢失的php到mysql库。在CentOs中,我通过运行来修复它 # yum install php-mysql,然后用# /bin/systemctl restart httpd重启apache。注意,命名与基于debian/ubuntu的发行版,php->php5和httpd->apache2略有不同。

同样的问题,因为我忘记进入我的虚拟机。如果我像这样进入我的本地目录:

cd /www/homestead/my_project
php artisan migrate

这个错误就会出现。但它在我的虚拟机上运行

cd ~/homestead
vagrant ssh   
cd /www/homestead/my_project
php artisan migrate