PHP PDO 无法打开流


PHP PDO Failure to open stream

我确信这是我忽略的简单事情,但它让我有点疯狂。 我在一台运行 LAMP 的 Ubuntu 机器上。 我有几个站点在这台机器上运行,使用 Php/MySql 没有麻烦。 我最近开始了一个使用 Yii 框架的网站,但我不认为这是一个 Yii 问题。 也许是吧。 无论如何。。。

我的其他网站使用 mysqli,所以 Yii 的 PDO 要求对我来说是新的。 我在PDO上做了一个快速的-i|grep,它以安装/启用的形式返回,所以不用担心。 我安装了框架,创建了一个快速测试站点和数据库。 但是,当我尝试通过站点连接到数据库时,我收到一个错误,告诉我PDO失败。 具体而言,无法打开流。 因此,即使安装了PDO,也找不到PDO。 Yii 站点与其他站点位于同一 Web 文件夹中,因此不会出现路径问题。

从Yii的角度来看,如果这就是问题所在...... 我能够在 Gii 中为各种数据库表创建控制器,但是当我尝试为这些表生成 CRUD 时,拉出相同的无法打开流错误。

作为记录,是的,MySql 在 Yii main.php 文件中启用。 是的,连接字符串正确。 我有点不知所措,如果 PDO 列为已启用,为什么它将无法打开。

发布此内容仅用于搜索引擎。 我仍然不知道问题可能是什么。 正如我所提到的,PDO显示从CLI启用,而不是从phpinfo启用。 这是可能的,因为 CLI 使用与 apache2 不同的 php.ini。 但是,在完全重新安装 php 后,我仍然遇到了同样的问题。 我再次在 gedit 中打开了两个.ini文件,并使用"pdo"上的非大小写查找逐行处理它们。 它们是绝对的,完全相同的。 最后,我放弃了试图理解问题,只是选择了简单的解决方案。我从 Apache2 中删除了.ini,并将其替换为 cli 中的那个,瞧!我在 Apache2 中启用了 PDO。 我仍然完全不知道问题是什么,但至少它已经解决了。