PHP致命错误:使用laravel4找不到类'PDO'

时间:2013-11-11 15:10:35

标签: php pdo laravel-4

一小时后解决这个问题我失败了):我的错误信息是:

Generating autoload files
PHP Fatal error:  Class 'PDO' not found in /usr/share/nginx/html/laravel/app/config/database.php on line 16
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'PDO' not found","file":"\/usr\/share\/nginx\/html\/laravel\/app\/config\/database.php","line":16}}Script php artisan clear-compiled handling the post-update-cmd event returned with an error



  [RuntimeException]                                                                                                    
  Error Output: PHP Fatal error:  Class 'PDO' not found in /usr/share/nginx/html/laravel/app/config/database.php on li  
  ne 16                                                                                                                 




update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

我正在使用linux centos 6.4 php 5.5.3和laravel 4。

你能非常感谢我。

4 个答案:

答案 0 :(得分:9)

你需要:

  1. 安装PDO支持。
  2. 在PHP配置中启用PDO。这可以通过添加以下内容来完成:
  3. extension=pdo.so

    extension=pdo_mysql.so

    到您的php.ini文件。

答案 1 :(得分:2)

您可以使用此脚本检查PDO是否受支持以及哪些驱动程序可用:

<?php
if (defined('PDO::ATTR_DRIVER_NAME')) {
    print_r(PDO::getAvailableDrivers());
} else {
    echo 'PDO unavailable';
}

如果显示“PDO不可用”,则必须安装并启用它。

在centos类型上安装PDO:

yum install php-pdo

答案 2 :(得分:0)

这是我使用NGINX + PHP-FPM在CentOS 7上对Laravel 5的回答。

CentOS 7仅支持PHP 5.4(在撰写本文时)。您可以使用WebTatic仓库安装PHP版本5.5或5.6(可能还有其他版本)。最后,我决定推出一个干净的CentOS 7实例,这是我的食谱:

  1. CentOS 7 + yum install epel-release的最小ISO安装(如果没有使用Minimal安装,请尝试yum删除php和其他php- *包)。

  2. 安装WebTatic回购:sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

  3. 为Laravel 5安装最少的PHP 5.6软件包:sudo yum install php56w php56w-opcache php56w-common php56w-pdo php56w-mbstring

  4. 对于NGINX PHP支持,我使用PHP-FPM:sudo yum install php56w-fpm

  5. 对于任何其他需要的PHP包,假设安装了WebTatic repo,请在包名中用php-w替换php-。

答案 3 :(得分:0)

另一个问题是命名空间,所以使用 \ PDO而不仅仅是PDO