我已经看到了一些与此相似的问题,但它们似乎主要针对的不同于我正在使用的环境,所以我希望这不是重复。
我正尝试在Windows 7上使用XAMPP在我的本地服务器上进行Laravel 4.2中的测试迁移。当我尝试运行php artisan migrate
时,我收到错误:
[PDOException]
could not find driver
migrate [--bench[="..."]] [--database[="..."]] [--force] [--path[="..."]] [--pac
kage[="..."]] [--pretend] [--seed]
我见过的大多数其他建议都与php.ini文件有关,但我确实有必要的行未注释:
extension=php_pdo_mysql.dll
当我查看我的phpinfo()时,它似乎正在运行:
mysqlnd
...
API Extensions mysql,mysqli,pdo_mysql
pdo_mysql
PDO Driver for MySQL enabled
Client API version mysqlnd 5.0.11-dev - 20120503 - $Id:
bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $
我唯一的想法是,我在端口81和3307上运行XAMPP而不是默认的80和3306可能是一个问题(虽然我相信我确实已经正确配置了XAMPP的配置文件,因为我&#39 ;已经能够在这些端口上运行其他应用程序了。)是否还有其他可能错过的Laravel配置文件?
编辑11/15 我看到有一个类似的问题here,但是对于它的价值,似乎在安装过程之后发生了该用户的错误(它似乎有已通过Laravel而不是通过php.ini文件解决)。这个特定问题似乎与安装过程本身有关,并且似乎至少有一些人也无法在问题的其他版本中找到具体答案。
答案 0 :(得分:8)
所以它确实是PATH设置的问题。非常感谢@ykbks。提供的链接虽然不清楚如何诊断它,所以只是为了扩展它,希望它能帮助某人处于同一位置,从我运行的命令行
C:\>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: (none) <<Problem
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
所以我不断更改系统没有看到的php.ini文件。我将XAMPP的php文件夹添加到PATH中,并且迁移运行完美。
答案 1 :(得分:2)
出现这种情况有很多原因。 默认数据库类型未设置(config / database.php), 或者未启用扩展, 或者您已启用扩展但尚未重新启动XAMPP, 或者未正确定义环境设置下的PATH设置。
我建议您查看可以解决问题的答案:https://stackoverflow.com/a/25336292/2745485
问候。
答案 2 :(得分:1)
我在Linux Ubuntu 15.10上用php5-fpm
和NGINX使用Laravel 5.1时出现此错误。似乎问题来自缺少PHP模块。我在我的系统php5-mysql
上解决了这个问题。只需运行:
sudo apt-get install php5-mysql
在Windows上,这可以修复我希望在php.ini
文件中包含MySQL模块。在XAMPP上,默认情况下应包含此内容。