经过一个小时的尝试来解决这个问题,我失败了):我的错误消息是:
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。
你能帮我非常感谢吗?
您需要:
- 安装 PDO 支持。
- 在 PHP 配置中启用 PDO。这可以通过添加以下内容来完成:
extension=pdo.so
extension=pdo_mysql.so
到您的php.ini
文件。
此脚本检查是否支持 PDO 以及哪些驱动程序可用:
<?php
if (defined('PDO::ATTR_DRIVER_NAME')) {
print_r(PDO::getAvailableDrivers());
} else {
echo 'PDO unavailable';
}
如果它显示"PDO不可用",则必须安装并启用它。
要在 centos 类型上安装 PDO:
yum install php-pdo
以下是我对 CentOS 7 上使用 NGINX+PHP-FPM 的 Laravel 5 的回答。
CentOS 7 仅支持 PHP 5.4(在撰写本文时)。 您可以使用WebTatic 存储库安装 PHP 版本 5.5 或 5.6(也许还有其他版本)。 最后,我决定启动一个干净的 CentOS 7 实例,这是我的食谱:
-
CentOS 7 的最低 ISO 安装量 + yum install epel-release(如果不使用最小安装量,请尝试 yum 删除 php 和其他 php-* 软件包)。
-
安装 WebTatic 存储库:sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
-
为 Laravel 5 安装最少的 PHP 5.6 软件包集: sudo yum 安装 php56w php56w-opcache php56w-common php56w-pdo php56w-mbstring
-
对于NGINX PHP支持,我使用PHP-FPM:sudo yum install php56w-fpm
对于所需的任何其他 PHP 软件包,假设安装了 WebTatic 存储库,请在软件包名称中将 php- 替换为 php56w-。
另一个问题是命名空间,所以使用\PDO而不仅仅是PDO