【问题标题】:PHP/mysql requiring 127.0.0.1 on OS X Mavericks在 OS X Mavericks 上需要 127.0.0.1 的 PHP/mysql
【发布时间】:2014-05-26 12:09:22
【问题描述】:

在 Mac OS X 10.6 上,我可以使用 php 连接到 mysql

$mysql = mysql_connect(localhost,user,password)

但是,如果我在 Mac OS X 10.9 (Mavericks) 中使用它,我会收到错误消息:

Warning: mysql_connect(): No such file or directory

如果我使用$mysql = mysql_connect("127.0.0.1",user,password),它可以正常工作,但我不想到处进行更改。

我在这个网站上读到有一个套接字问题,但我已经在 php.ini.default: pdo_mysql.default_socket=/tmp/mysql.sock 中找到了这个

知道如何制作mysql_connect(localhost,user,password) work on 10.9 吗?

【问题讨论】:

    标签: php mysql osx-mavericks


    【解决方案1】:

    如果您调用mysql_connect() 并以localhost 作为第一个参数,PHP 会尝试使用 UNIX 域套接字而不是 TCP 进行连接。

    可能它会查找错误的套接字名称和/或您的 mysql 只侦听 TCP。

    您应该检查您的 mysql 设置(/etc/mysql ? 搜索套接字)和 php mysql.default_socket 配置变量。 (您提到的pdo_mysql.default_socket 在您使用pdo 连接时使用。)

    例如在我的 debian 上:

    $ grep socket /etc/mysql/my.cnf 
    socket          = /var/run/mysqld/mysqld.sock
    

    (否则,如果您使用任何类型的数据库抽象层,并且只存储一次连接详细信息,您的生活会更轻松。)

    【讨论】:

    • 感谢您的想法。我找到了文件 /usr/local/mysql-5.6.16-osx10.7-x86_64/my.cnf 我找到了一行 #socket = ..... 我用 socket = /tmp/mysql.sock 替换了我重新启动mysql & apache,但问题仍然存在
    • 我将“# socket =”替换为“socket = /tmp/mysql.sock”,这意味着我没有注释。
    【解决方案2】:

    【讨论】:

    • 谢谢。在第一篇文章中,我找到了建议:mkdir /var/mysql; ln -s /tmp/mysql.sock /var/mysql/mysql.sock 这解决了问题。
    • 我也是。全新 MacBook Air 2014 OS X 10.9。符合第 1 条。修复 2002 套接字错误:sudo mkdir /var/mysql 然后是 sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock,最后是 mysql.server restart
    【解决方案3】:

    您需要编辑主机名文件,但我是 PC 用户,所以我无法在 mac 上指导您。无论如何,这是我发现的,我想它与您的操作系统版本相同

    第 1 步 - 打开 Terminal.app

    通过在 Spotlight 上开始键入终端,或进入 应用程序 -> 实用程序 -> 终端。

    第 2 步 - 打开主机文件

    通过在您刚刚打开的终端上键入来打开主机:

    1$ sudo nano /private/etc/hosts 输入您的用户密码 提示。

    第 3 步 - 编辑主机文件

    hosts 文件包含一些 cmets(以 # 开头的行 符号),以及一些默认主机名映射(例如 127.0.0.1 – 本地主机)。 来源:http://decoding.wordpress.com/2009/04/06/how-to-edit-the-hosts-file-in-mac-os-x-leopard/

    您需要为 127.0.0.1 - localhost 写一个条目 如果它还没有。

    【讨论】:

    • 感谢您的想法。主机文件已经有这些条目: 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost
    猜你喜欢
    • 2013-11-03
    • 2014-04-09
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 2013-11-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多