Laravel 5.5“未找到‘PDO’类”

问题描述 投票:0回答:5

这是我打开网站时的实际错误

其实我已经成功运行了

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。

laravel laravel-5 pdo
5个回答
7
投票

这里最有可能发生的是 PDO 模块在 php-cli 配置中启用(因此它可以从命令行工作),但在 Web 服务器配置文件中未启用。


7
投票

我正在添加可以解决问题的所有可能选项

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 服务器。


1
投票

重新启动你的 apache、nginx、php-fpm


1
投票
  1. 运行

    <?php phpinfo(); ?>
    并找出/path/to/php.ini

  2. 打开php.ini

    sudo nano /path/to/php.ini

  3. 添加这些行以启用扩展

    extension=openssl
    extension=pdo_firebird
    extension=pdo.so
    extension=pdo_mysql
    extension=pdo_oci
    extension=pdo_odbc
    extension=pdo_pgsql
    extension=pdo_sqlite
    
  4. 重启服务器

    sudo apachectl restart


0
投票

如果您在 Laravel 应用程序上下文中遇到“Class 'PDO' not found”错误,则 Laravel 可能无法找到或加载 PDO 扩展。 Laravel 依赖 PDO 进行数据库访问。

以下是排查和解决问题的几个步骤:

  1. 验证 PDO 扩展是否已安装: 确保在您的 PHP 配置中安装并启用了 PDO 扩展。
  2. 检查 Laravel 数据库配置: 在您的 Laravel 项目中,检查 config/database.php 文件。确保数据库配置正确设置,并且驱动程序配置为使用 PDO。
© www.soinside.com 2019 - 2024. All rights reserved.