这是我打开网站时的实际错误
其实我已经成功运行了
php artisan migrate:refresh
,也没有报错。
已经尝试过以下命令。
php artisan cache:clear
php artisan config:clear
composer install
composer clearcache
composer dump-autoload
php artisan clear-compiled
我还检查了 pdo 是否已安装,通过
php -m
并且它已经安装了
我使用的是 CentOS。
这里最有可能发生的是 PDO 模块在 php-cli 配置中启用(因此它可以从命令行工作),但在 Web 服务器配置文件中未启用。
我正在添加可以解决问题的所有可能选项
Add use PDO; after your namespace or just before your class or at the top of your PHP file
当您使用 centOS 时,请尝试以下命令
yum install php-pdo
yum install php-pdo_mysql
service httpd restart
如果仍未解决,请检查 php.ini 文件路径以查看 phpinfo() 输出中正在加载哪个文件。
有时一台机器上会安装两个不同的 PHP 版本,一个用于 CLI,一个用于 Web 服务器。
重新启动你的 apache、nginx、php-fpm
运行
<?php phpinfo(); ?>
并找出/path/to/php.ini
打开php.ini
sudo nano /path/to/php.ini
添加这些行以启用扩展
extension=openssl
extension=pdo_firebird
extension=pdo.so
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
重启服务器
sudo apachectl restart
如果您在 Laravel 应用程序上下文中遇到“Class 'PDO' not found”错误,则 Laravel 可能无法找到或加载 PDO 扩展。 Laravel 依赖 PDO 进行数据库访问。
以下是排查和解决问题的几个步骤: