【问题标题】:I have a problem connecting to my db on godaddy with PDO我在使用 PDO 连接到 Godaddy 上的数据库时遇到问题
【发布时间】:2010-07-16 13:12:43
【问题描述】:

我一直在尝试使用 godaddy 上的 pdo 连接到我的数据库,但没有成功。

最初我得到了错误:

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

然后我环顾网络,发现我需要将部件更改为套接字。我寻找我的套接字找到它并使用unix_socket=/tmp/mysql-1.sock 更改它。现在我得到错误:

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql-1.sock' (2)

我也尝试将主机和主机名更改为托管数据库的服务器的 IP 地址,但仍然出现相同的错误。

请有人帮助我。我在 godaddy 上托管。

提前致谢。

编辑#1

$dbh = new PDO('mysql: hostname=122.100.111.0;port=3306;unix_socket=/tmp/mysql-1.sock; dbname=orson', 'username', 'password');
    foreach($dbh->query('SELECT * from q_users') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";

}

【问题讨论】:

  • 粘贴您的代码。当您的数据库位于另一台服务器中时,您正在尝试连接到 localhost。

标签: mysql pdo shared-hosting


【解决方案1】:

GoDaddy 的 Linux 托管计划支持 PDO,但显然必须通过 cPanel 在某些帐户上启用:

  1. 从“我的帐户”下的“托管”菜单转到 cPanel。
  2. 转到“选择 PHP 版本”。
  3. 在 Dropbox 中选择 PHP 版本(例如 5.5)并点击“设为当前”。
  4. 选中所需功能(例如 PDO)的复选框,然后单击“保存”。

注意:您可能需要选中人们通常认为的其他框 默认开启(例如 mysqli)。

今晚花了一些时间与 GoDaddy 技术支持人员交谈以解决这个问题,并认为我会分享。

【讨论】:

    【解决方案2】:

    在与 Godaddy 支持团队交换消息后,我发现他们的共享托管计划不支持 PDO。

    【讨论】:

    • 无论如何我都会这么说,但要像石头一样扔掉它们。他们没有任何理由不支持 PDO。 (话虽这么说,您的错误是由于 MySQL 寻找套接字文件而不是尝试连接到端口...)
    • mysqlnd 驱动程序,getResult() 和所有不支持,不支持创建触发器,不支持创建函数。那他们还支持什么??啊... 支持所有类型的信用卡
    【解决方案3】:

    我有同样的错误。我认为您的主机名是错误的。这是一个文档,您可以在其中找到您的主机名。他们确实支持 PDO,我的整个应用程序都使用它运行。

    http://support.godaddy.com/help/article/39/locating-your-databases-host-name

    【讨论】:

    • 他们在 2010 年不支持它。也许现在。
    【解决方案4】:

    我也遇到了同样的问题!

    查看他们的论坛后,我发现 Go Daddy 的 Windows 平台不支持它,但他们的 Linux 平台支持。他们不会向您收取转换费用。

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2019-10-01
      • 2019-12-16
      • 2021-11-13
      • 2018-06-19
      • 2023-03-08
      • 2014-12-24
      • 1970-01-01
      • 2021-06-06
      相关资源
      最近更新 更多