1

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

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

4 回答 4

9

您需要:

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

extension=pdo.so

extension=pdo_mysql.so

到你的php.ini文件。

于 2013-11-11T15:12:11.187 回答
2

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

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

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

在 centos 上安装 PDO 类型:

yum install php-pdo
于 2013-11-11T15:22:46.187 回答
0

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

于 2016-07-05T07:15:02.497 回答
0

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

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

  1. CentOS 7 的最小 ISO 安装 + yum install epel-release(如果不使用最小安装,请尝试 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

对于所需的任何其他 PHP 包,假设已安装 WebTatic 存储库,请在包名称中将 php- 替换为 php56w-。

于 2015-11-14T17:40:42.627 回答