【问题标题】:macports apache2 install missing pdo driversmacports apache2 安装缺少的 pdo 驱动程序
【发布时间】:2013-06-17 12:38:30
【问题描述】:

我刚刚切换到 macports apache2 安装以获取 imagemagick。现在我有了 imagemagick,我的 pdo sqlite 不再工作 :-( 我做了一些研究,当然,sqlite pdo 驱动程序意味着默认启用。

一些信息:

错误是:<b>Fatal error</b>: Uncaught exception 'PDOException' with message 'could not find driver' in ....

代码是:$dbh = new PDO("sqlite:db.sqlite");

一些phpInfo:

PHP Version 5.3.25

Configure Command    ... '--enable-pdo' ...

PDO
PDO support enabled
PDO drivers no value

命令行:php -i | grep -i pdo 输出:

Configure Command =>  './configure'  [...] '--enable-pdo' [...]
PDO
PDO support => enabled
PDO drivers => 

/opt/local/lib/php/extensions/.../ 我只有imagick.so(也许我应该有一个sqlite.so?) 请让我知道是否有任何其他信息有用,我会将其添加到问题中。

【问题讨论】:

  • 我尝试参考说明解决这个问题(除了替换 sqlite):stackoverflow.com/questions/61747/… 不幸的是,我在制作和安装时遇到了错误。
  • 经过一番困难后,我设法使用 apt-get install php5-pdo_sqlite3 在 Ubuntu/Debian 上运行,不幸的是 Mac 端口没有等效项:-(
  • 好的,我可以通过在我的 ubuntu 笔记本电脑上共享 webdev 文件夹来继续在我的 mac 上进行 web 开发。这是一个非常糟糕的解决方案。

标签: sqlite pdo apache2 macports drivers


【解决方案1】:

这对我有用:

sudo port install php5-sqlite
sudo port install php5 +apache2 +sqlite

这里的第二行似乎没有做任何事情,但你永远不知道。

重启后我发现我没有 imagemagick,我以为我已经有了,所以

sudo port install php5-imagick

现在以“macports”方式重新启动 apache2:

sudo port unload apache2
sudo port load apache2

查看 phpinfo,我为 pdo 启用了 sqlite2 和 sqlite(令人困惑的是,它是 sqlite3)驱动程序。

【讨论】:

  • 请不要删除这个有用的答案,我已经不厌其烦地在这里写作和发布。请注意,我还针对相关问题(我也问过)发布了一个非常相似的答案。由于我从 SO 中获得了有用的信息,我觉得当我发现自己的问题时,我应该发布解决方案。
猜你喜欢
  • 2013-06-08
  • 2016-12-14
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
  • 2016-12-04
  • 1970-01-01
相关资源
最近更新 更多