VirtualHost
我已经在本地机器(安装了 XAMP 的 Windows XP)上设置了一个,并且Zend
也在那里安装了,现在我尝试连接到数据库MySQL
,但收到以下错误消息:
Message: SQLSTATE[HY000] [2003] Can't connect to MySQL server on ''myhost.com'' (10060)
我通过 找到的所有提示Google
都没有帮助。我使用Kaspersky AntiVirus
并将端口添加3306
到 Apache 的允许列表中MySQL
。我还 ping 了myhost.com:3306
并得到了响应(IP 地址为67.63.50.51
),但localhost:3306
没有127.0.0.1:3306
找到。我检查过,MySQL
如果虚拟主机指向其他 WebApp,它们仍然可以访问,并且我的非 Zend Apps 可以正常工作。
我想我必须对端口进一步采取一些措施,或者强制应用程序使用不同的端口,但我不确定该怎么做。
任何帮助均感激不尽。
答案1
未找到 localhost:3306 和 127.0.0.1:3306
ping
无法用于验证端口状态,因为它位于不同的 TCP/IP 层,并且不使用端口。尝试
telnet 本地主机 3306
如果可以连接,您应该会看到一些难以理解的字符。这是 MySQL 连接就绪字符串。
似乎其他应用程序可以访问 MySQL - 当配置 Zend 时,尝试运行xampp-portcheck.exe
(在你的 xampp 根目录中),如果一切正常,则开始xampp-control.exe
确保 MySQL 服务正在运行(尽管看起来很可能正在运行)。
我还 ping 了 myhost.com:3306 并得到了响应(IP 地址为 67.63.50.51),
67.63.50.51 是您的面向互联网的 IP 地址吗?如果您是为本地开发人员设置此 IP 地址,则最好在文件中配置 vhost 的主机名C:\WINDOWS\system32\drivers\etc\hosts
并将其指向 127.0.0.1 - 如果 67.63.50.51 不是您的地址,则您正在测试另一台服务器(它目前重定向到荷兰托管页面)。
答案2
假设至少有一个应用程序是已经能够连接到MySQL
服务器,你不需要打开更多端口Kaspetsky AntiVirus
,所以如果我是你,我会看看应用程序是能够hostname
从那里连接并将数据库复制到您的新应用程序中。