【问题标题】:Class PDO Not Found - Just upgraded to PHP 5.6 (Debian Wheezy)找不到类 PDO - 刚刚升级到 PHP 5.6 (Debian Wheezy)
【发布时间】:2016-11-20 04:50:17
【问题描述】:

我已经离开 Laravel/Unix 一段时间了,但我有一个项目要设置并遇到一些障碍。最新版本的 Laravel 需要 PHP >=5.6,所以我更新了它,使用laravel new project 设置我的新项目,并像往常一样对 storage/ 和 bootstrap/cache 文件夹的用户/组权限进行了一些修改。

我从 Nginx 收到 HTTP/500 错误,所以我检查了错误日志,我在 /var/log/nginx/error.log 中得到了这个:

FastCGI 在 stderr 中发送:“PHP 消息:PHP 致命错误:在第 16 行的 /home/user/public_html/project/config/database.php 中找不到类 PDO”... 上游: "fastcgi://unix:/var/run/php5-fpm.sock"

PHP 版本 5.6.28-1~dotdeb+7.1

当我检查 /etc/php5/fpm/php.ini 时,正常的 extension=pdo.soextension=pdo_mysql.so 不存在所以我添加它们来测试它,但是在 conf.d 文件夹和 PHPINO 显示了这些请求那些正在扫描/加载的文件。

但是,后来在 PHPINFO 结果中,没有列出 PDO/PDO_MYSQL

更新

我只是尝试使用find /-name pdo.so 和 pdo_mysql.so 相同的方法来查找这些文件的路径,并手动修改加载配置文件以正确指向它们,启动服务器并没有改变任何东西。

对不起,这很长。我花了几个小时仔细研究以确保我不只是错过了一些愚蠢的东西,而且我可能仍然是。

有什么想法可以超越吗?

【问题讨论】:

    标签: php mysql nginx pdo


    【解决方案1】:

    好吧,经过一番惊愕和摆弄后,我想出了这个……

    php-fpm.conf 配置中创建了一个递归/无限循环,如下所示:

    include=/etc/php5/fpm/*.conf

    这导致 PHP5-FPM .conf 尝试包含自身,我在启动错误中发现:Failed to load configuration file /etc/php5/fpm/php-fpm.conf from /etc/php5/fpm/php-fpm.conf

    所以我将其修改为 include=/etc/php5/fpm/conf.d/*.conf 一切都开始备份,现在 PDO/PDO_MSYQL 正在加载。

    【讨论】:

      猜你喜欢
      • 2021-04-06
      • 2015-02-09
      • 2016-08-15
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2020-07-29
      相关资源
      最近更新 更多