看起来我的Laravel故意忽略我php.ini
中设置的API扩展
因为我得到could not find driver (SQL: select * from ...
。
php.ini
配置正确且php artisan migrate
正常工作,我可以看到它的工作是我的MySQL数据库。
试图找出问题所在我将phpinfo()添加到默认路由中并看到了:
API Extensions = no value
PDO drivers = no value
但是,如果我按php -S localhost:8000 -t public/
而不是php artisan serve
启动项目,那么一切正常,API Extensions
有pdo_mysql
和PDO drivers = mysql
。
在这两种情况下,Loaded Configuration File
都是相同的C:\php\php.ini
Laravel有什么问题? PS。 Laravel 5.5,php 7.1
答案 0 :(得分:0)
Laravel使用php cli的内置服务器,它可以有一组不同于服务器的启用扩展(fpm或其他)。确保你正在编辑正确的php.ini,这在每个操作系统上都有所不同,如果使用linux每个发行版。所以我不能给你的php.ini的位置,但任何给定的安装有多个。通常一个用于cli,一个用于服务器位。 php -S的行为似乎与至少为我使用网络服务器相同
正在使用相同的php.ini