一小时后解决这个问题我失败了):我的错误信息是:
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。
你能非常感谢我。
答案 0 :(得分:9)
你需要:
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实例,这是我的食谱:
CentOS 7 + yum install epel-release的最小ISO安装(如果没有使用Minimal安装,请尝试yum删除php和其他php- *包)。
安装WebTatic回购:sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
为Laravel 5安装最少的PHP 5.6软件包:sudo yum install php56w php56w-opcache php56w-common php56w-pdo php56w-mbstring
对于NGINX PHP支持,我使用PHP-FPM:sudo yum install php56w-fpm
对于任何其他需要的PHP包,假设安装了WebTatic repo,请在包名中用php-w替换php-。
答案 3 :(得分:0)
另一个问题是命名空间,所以使用 \ PDO而不仅仅是PDO