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

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


当前回答

在我的Windows机器上,我必须在php.ini中给出扩展名目录的绝对路径:

Extension_dir = "c:\php5\ext"

其他回答

在我的情况下(Windows XP + Apache2.2 + PHP 5.4.31),我改变了PHPIniDir在httpd.conf来解决这个问题:

来自:

"C:\php5\" 

to:

"C:/php5/"

正在调用不正确的PHP安装

我也遇到过同样的问题。我希望这能帮助到和我有类似问题的人。

场景

OS = Windows 10  
Platform = XAMPP  
PHP Version = 7 (Multiple Version seem to have been installed in the PC)  

我在公用文件夹中创建了phpinfo.php文件,并运行phpinfo()来查找我的php.ini文件的位置。

php.ini Location = c:\xampp\php\php.ini

问题 调用c:\xampp\htdocs> php -v返回php 7.2.3,但phpinfo.php显示php 7.2.2。

解决方案 而不是打电话

php artisan migrate:install   

它给了我这个错误,我用了

c:\xampp\php\php artisan migrate:install

这招奏效了。

对于有PHP 7.0的新版本的Ubuntu,你可以得到PHP -mysql包:

sudo apt-get install php-mysql

然后重新启动服务器:

sudo service apache2 restart

有同样的问题,只是认为,网站是在MAMP的php下运行,但当你调用命令时,它运行mac的(如果没有bash路径修改)。当MAC没有这些扩展时,你会有问题。

运行PHP -i查找已加载的扩展,并安装那些您错过的扩展。 或者运行'/Applications/MAMP/bin/php/php5.3.6/bin/php artisan {your command}'来使用MAMP's

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