gpt4 book ai didi

php - 尝试在 mac os mavericks 上使用 mysql、php 和 apache 连接到本地主机

转载 作者:行者123 更新时间:2023-11-29 03:01:24 27 4
gpt4 key购买 nike

我正在尝试使用 apache 和 php 在本地连接到 mysql。我可以使用 mysql workbench 连接到 mysql,我可以将 php 与 apache 一起使用,但我无法使用 php 连接到 mysql。当我尝试时,我得到以下信息:

Warning: mysql_connect(): Connection refused in /Library/WebServer/Documents/login.php on line 25

这是代码:

mysql_connect($connection= mysql_connect("localhost", "RainyCats", "********");

我也试过root:

mysql_connect($connection= mysql_connect("localhost", "root", "********");

系统首选项中的mysql首选项 Pane 显示服务器正在运行,我已将所有权限授予RainyCats。

我已经创建了从/private/var/mysql/mysql.sock 到/tmp/mysql.sock 的 mysql.sock 的符号链接(symbolic link)my.cnf文件位于etc/my.cnf

我使用 dmg 安装了 mysql。

编辑:我有 php 版本:5.4.24 和 Apache:2.2.26

谢谢,下雨

最佳答案

我在 Mountain Lion OS 上遇到了同样的问题,这背后可能是套接字错误。似乎对于 Macos 上的本地服务器,您必须指定您的 mysql 服务器正在使用的套接字文件到您的 php 代码:

  • 所以首先,你会告诉我“好的,但我的套接字文件到底在哪里?”:

    $prompt> mysql -u myusername -p
    (enter the password here)

    mysql> show variables like '%socket%';

    +---------------+-----------------+
    | Variable_name | Value |
    +---------------+-----------------+
    | socket | /tmp/mysql.sock |
    +---------------+-----------------+
    1 row in set (0.00 sec)
  • 获得路径后,在您的 php 代码中使用它:

    $username = 'myusername';
    $password = 'mypassword';
    $host = 'localhost:/tmp/mysql.sock';
    $database = 'mydatabase';

    #connect to the database or die
    $link = mysql_connect($host, $username, $password);
    if (!$link) {
    die('Could not connect: ' . mysql_error());
    }
    mysql_select_db ($database);

感谢 Alvin,我在 his website 上找到了这个解决方案:

希望这有助于...

关于php - 尝试在 mac os mavericks 上使用 mysql、php 和 apache 连接到本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23088442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com