【问题标题】:MAMP: Can't find server/connect to database after Yosemite upgradeMAMP:优胜美地升级后找不到服务器/连接到数据库
【发布时间】:2014-12-24 18:19:04
【问题描述】:

在本地开发 WordPress 网站时,MAMP 曾经为我完美地工作。然后我升级到 Yosemite 并开始在我的浏览器中出现“找不到服务器”错误(当端口设置为默认 Apache:8888,MySQL:8889),然后是“连接到数据库时出错”(当端口设置为80、443 和 3306)。

唯一改变的是优胜美地升级。因此,我尝试切换到 MAMP Pro 以查看它是否有所作为,确实如此!但是现在试用期已经结束了,我又被冷落了。然后我也尝试了 XAMPP 和 AMPPS,但遇到了同样的问题。这都是几周前的事了。所以今天我开始开发一个新网站,并决定注册 MAMP Pro,以为我可以避免头痛并继续生活。但是现在 MAMP Pro 给我同样的问题。我不知道发生了什么以及如何解决这个问题。

我尝试使用“localhost:8888”和“127.0.0.1”设置 wp-config 主机设置,但无济于事。

欢迎提出任何建议。

【问题讨论】:

    标签: wordpress localhost mamp mamp-pro


    【解决方案1】:

    我遇到了类似的问题,听起来我遵循了类似的过程(很多类似的设置,尽管我最终没有升级到 MAMP Pro)。当我查看错误日志MAMP/logs/mysql_error_log.err 时,我注意到的一件事是以下消息:

    InnoDB: Unable to lock ./ibdata1, error: 35
    InnoDB: Check that you do not already have another mysqld process
    InnoDB: using the same InnoDB data or log files.  
    

    当我打开我的活动监视器时,我看到了一个活动的 mysqld 进程(即使 MAMP 已关闭)。我不确定之前的进程是否没有正确终止或什么,但我手动退出了该进程,重新启动了 MAMP,它工作得很好。就我而言,这是一件小而愚蠢的事情,但有时就是这样。祝你好运!

    【讨论】:

    • 我检查了我的日志“MAMP/logs/mysql_error_log.err”(为空白)和“MAMP/logs/mysql_error.log”,其中不包含任何错误。此外,除了 MAMP 运行时,Activity Monitor 没有显示任何“mysqld”进程。
    【解决方案2】:

    启动 Terminal 并运行以下命令:

    sudo apachectl configtest

    您是否收到错误消息(例如“坏名”)或任何类型的警告?

    如果是因为名字不好,在你的 MAMP 文件夹中找到 bin > apache2 并在 TextEdit 中打开 http.conf 文件。

    找到这两行:

    User _www Group _www

    您所要做的就是将用户_www 替换为您的主文件夹的名称,并将组替换为staff。例如,如果您的主文件夹名为 rugbyplayer,您可以这样写:

    User rugbyplayer Group staff

    让我知道这是否适合你。

    【讨论】:

    • 这是我在终端 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using Wesley.local. Set the 'ServerName' directive globally to suppress this message Syntax OK 收到的消息,我在 bin > apache2 文件夹中没有看到名为 http.conf 的文件。我只看到 bin 和 logs 的两个别名。
    • 听起来您需要编辑您的hosts 文件。位于 /etc/,在 TextEditor 中打开您的 hosts 文件,并在预先存在的文本底部打开这一行:# 127.0.0.1 Wesley.local 然后打开您的浏览器并尝试查看您的 MAMP 安装。
    • 在旁注中,如果您正在运行 MAMP Apache,请将您的端口保持在 :8888mySQL :3306。对于 MAMP NGINX,请始终将您的端口保持在 :7888mySQL :3306。最后,编辑hosts 文件的快速方法是使用GasMask。可从clockwise.ee免费下载
    【解决方案3】:

    OSX Yosemite(也可能是更新版本的 OSX)在错误的位置查找 mysql.sock 文件,这可能是升级到 Yosemite 会破坏本地站点的原因。创建指向正确位置的符号链接将解决问题:

    sudo mkdir /var/mysql
    sudo chmod 755 /var/mysql
    sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
    

    缺少符号链接对于 WordPress 来说是个问题的原因是因为在您的 wp-config.php 文件中,define('DB_HOST', 'localhost'); 将不起作用。另一种解决方法是将 wp-config 文件中的此值更改为 define('DB_HOST', '127.0.0.1');

    也许当您在 wp-config 文件中尝试 127.0.0.1 时,您在 MAMP 中指定了不正确的端口? 80、443 和 3306 应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 2014-12-16
      • 2014-12-17
      • 2014-12-16
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多