Laravel报could not find driver错误且PHP脚本运行缓慢问题求助
问题解决方案
核心报错原因
你遇到的could not find driver报错根源是无效的Session驱动配置:
你.env文件中配置的SESSION_DRIVER=anonymous-database不属于Laravel支持的合法Session驱动,Laravel官方支持的驱动仅包含以下几种:file、cookie、database、apc、memcached、redis、dynamodb、array,不存在anonymous-database这个取值,因此框架无法识别驱动抛出错误。
数据库迁移可以正常运行,说明你的pdo_mysql等数据库扩展配置是正常的,和数据库相关的基础环境没有问题。
具体解决步骤
1. 修正Session驱动配置
打开项目根目录的.env文件,将SESSION_DRIVER的取值修改为合法值:
- 如果需要用数据库存储Session,修改为:
SESSION_DRIVER=database
后续需执行Session表创建命令:php artisan session:table && php artisan migrate生成对应存储表。
- 如果临时测试可以先用文件存储,修改为:
SESSION_DRIVER=file
2. 清空Laravel配置缓存
执行以下命令清空配置缓存,让修改的.env配置生效:
php artisan config:clear
如果你之前执行过php artisan config:cache生成过配置缓存,必须执行上述命令清空缓存后新配置才会生效。
PHP命令卡顿问题排查方案
针对php -v、php --ini等基础命令都卡顿的问题,按以下顺序排查:
- 先排查PHP CLI配置:执行
php --ini确认CLI模式加载的php.ini路径,检查配置文件中是否加载了非必要的扩展(比如xdebug调试扩展、未正确配置的第三方扩展),可以临时注释非核心扩展,逐次测试定位导致卡顿的扩展。 - 用系统工具排查执行瓶颈:Linux环境下可以执行
strace php -v查看命令执行过程中卡在哪个系统调用环节,常见原因包括DNS解析超时、本地磁盘IO过高、扩展依赖的外部资源连接超时。 - 检查服务器基础资源:查看服务器CPU、内存、磁盘占用率,确认是否存在资源耗尽的情况,同时检查本地hosts文件是否存在异常配置导致本地回环地址解析超时。
- 对比CLI和Web访问性能:如果只有CLI命令卡顿,问题集中在CLI的PHP配置;如果Web访问也卡顿,同步检查Nginx、PHP-FPM的运行配置,确认FPM进程数、资源限制是否合理。
内容的提问来源于stack exchange,提问作者Mirko Druzijanic
相关产品推荐
相关产品推荐

