我在Windows XP上安装了XAMPP。我启动了XAMPP控制面板,它显示了apache和mysql正在运行。
当我通过转到localhost/xampp
检查状态时,显示:
mysql : deactivated
当我运行访问mysql数据库的php文件时,它会显示以下错误:
Warning: mysql_connect() [function.mysql-connect]: [2002] No connection could
be made because the target machine actively refused it. (trying to connect
via tcp://localhost:3306) in C:\xampp\htdocs\Elo_algorithm.php on
line 18
我已经浏览了XAMPP故障排除页面和常见问题解答,但我不明白该怎么做。 XAMPP控制面板显示mysql正在运行,但xampp状态显示:deactivated
。
这里发生了什么?
答案 0 :(得分:2)
好的,我的问题解决了这个问题,希望对你也有所帮助。问题是系统本身。如果你运行Vista,Win7,win8,你可能有权限问题。简单转到XAMPP root并找到mysql_start.bat并运行它。单击防火墙后,将立即显示消息,要求获得许可。您所要做的就是允许(对于私人网络,如家庭或工作网络)。
MySQL数据库ACTIVATED - 这才是最重要的;)
我希望这对迄今为止没有得到答案的所有人都有帮助。 干杯!
答案 1 :(得分:0)
您应该在xampp安装中查看文件“\ xampp \ mysql \ data \ mysql_error.log”。
此文件包含MySQL的错误日志,在其中您可以检测到任何问题,例如使用中的。
例如,这行日志显示端口3306(默认为mysql)由另一个应用程序使用,无法访问。
111130 8:39:56 [ERROR] Can't start server: Bind on TCP/IP port: No such file or directory
111130 8:39:56 [ERROR] Do you already have another mysqld server running on port: 3306 ?
111130 8:39:56 [ERROR] Aborting
如果MySQL中的所有内容都正确可能问题与php应用程序中的驱动程序有关。目前PHP有两种MySQL连接器类型,“mysql”和“mysqli”,MySQL“mysql”连接器,使用“ mysql _ ”(你用来连接的方法是mysql_connect)前缀函数,用于旧的MySQL 4应用程序,当MySQL 5.x if配置了“旧密码”参数时。 “mysqli”用于新的mysql 5.x版本,在php中你必须使用“ mysqli _ ”前缀函数,如“mysqli_connect。
最新版xampp使用的版本是MySQL 5.5,你需要使用mysqli连接器。
答案 2 :(得分:0)
检查xampp mysql文件夹中“my.ini”文件中port port的值是3306还是8888
答案 3 :(得分:0)
我面临同样的问题。我必须运行setup-xampp.bat才能使其正常工作。 顺便说一下,我遇到了一个名为AMPPS的新WAMP堆栈。它看起来比XAMP容易得多。你应该试试。 http://www.ampps.com
答案 4 :(得分:0)
我无法获得XAMPP for Windows(1.7.4 Beta2 - 我知道;古老)在Windows 7(32位)上工作,因为MySql不能激活"或连接到Apache。只是愚蠢的运气,我为另一个应用程序安装了.NET Framework 4.6并突然 - Whoopee!它开始工作了!