我刚刚安装了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安装有关吗?

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


当前回答

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

cd /www/homestead/my_project
php artisan migrate

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

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

其他回答

sudo apt-get install php-mysql 

在ubuntu和PHP 7上运行良好

检查php配置文件中的extension_dir设置是否正确。尝试注释/取消注释一些扩展,看看它是否反映在phpinfo()上。 如果它没有,那么php配置文件不能加载(错误的位置)extension_dir被注释或设置到错误的位置。

在Ubuntu上执行

sudo apt-get install php5-mysql

我有同样的错误共享主机使用cPanel。如果安装了mysqlnd,则默认安装pdo_mysql扩展。

但事实并非如此,我必须启用nd_pdo_mysql扩展来使用PDO。我使用PHP选择器GUI来更改它,但这是因为我懒得设置SSH连接。

O,忘记添加服务器是Apache和MariaDB(经常忘记,尽管MariaDB与MySql具有相同的父级,但在底层,一些功能可能会略有不同)。

PHP 8.0 与 Laravel 8.0 相关:

在php.ini中,extension=php_pdo_mysql.dll并保存。 不要忘记重新启动xampp Apache和Mysql。