【问题标题】:MAMP 3.1 and MySQL PDOMAMP 3.1 和 MySQL PDO
【发布时间】:2015-05-29 19:25:05
【问题描述】:

我刚刚下载了最新版本的 MAMP Pro (3.1) 并安装它,却发现它完全删除了 MySQL PDO。这是一个问题,因为我使用的框架需要 PDO 才能连接到数据库。我尝试从旧版本的 MAMP 中获取扩展,但它立即抛出错误。

如何为 MAMP 3.1 恢复 MySQL PDO?我在网站上查看过,但找不到可以回滚到旧版本的下载页面。

【问题讨论】:

  • mamp 应该有自己的 pdo 副本,您可能只需要启用/安装它。不,从旧版本中获取库的副本是没有意义的。 “我喜欢的铝制棒球棒坏了,所以我抓住了这个石器时代的木棒。它们都是棒,为什么它不起作用?”
  • 不,它只包括 Postgres PDO 扩展。根本没有 MySQL PDO 扩展。

标签: mysql pdo mamp mamp-pro mysqlnd


【解决方案1】:

在 MAMP 3.1 中,他们已切换到 mysqlnd,它实际上包括 mysql、mysqli 和 PDO。问题是他们已经删除了php.ini 中的所有 PDO 设置,因为他们没有使用 MySQL PDO 扩展。由于此更改,PHP 从命令行查看了错误的 MySQL 套接字文件。为了解决这个问题,我使用以下行更新了 php.ini 文件:

pdo_mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock

在那之后,一切又开始工作了。

如果 Appsolute 的任何人看到这一点,请重新将 PDO 设置添加到 INI 文件中,以免发生此类事情!

【讨论】:

  • 奇怪,因为我的 Mamp Pro 3.1 php.ini 文件默认有这一行...[PDO] pdo_mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock 我的 PDO 工作正常。我昨天刚买的,所以我没有更新什么的。
  • 我们刚刚从 3.0.5 更新到 3.1,我们遇到了 PDO 错误。我们的php.ini 已经默认设置了pdo_mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock 行。尚未找到解决方案,必须恢复到 3.0.5
  • @Peter Mine 实际上没有该行,这是导致问题的原因,因为它正在查看错误的 .sock 文件。我只是想通了,因为我运行了php -i | grep pdo 并看到输出中引用了错误的文件。不知道为什么我的有问题而你的没有。奇怪。
  • 确实很奇怪!没有答案,但我认为这与stackoverflow.com/questions/27792878/… 的这个问题有某种关系。安装 MAMP 时可能会发生什么情况?也许它发生在你的情况而不是我的情况?
  • 仅供参考,您需要使用“php -i|grep php.ini”来查找它正在使用的 php.ini 文件。
猜你喜欢
  • 2015-01-07
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 2014-09-28
  • 2016-03-15
  • 2012-06-07
相关资源
最近更新 更多