我在PHP项目中使用Netbeans 7.0.1。
我已经使用我们在xampp.org中找到的安装程序在Windows 7 64位中安装了XAMPP 1.7。 我已经将apache的端口从80和443更改为81和442,因为我也在使用IIS。 我没有安装任何服务,我使用控制面板启动/停止mysql,apache等。
我的问题是我的单元测试失败了,上下文是我正在和两个正在使用Mac的人一起开发项目。
他们有一个配置文件,其中包含以下行:
database_socket = /var/run/mysqld/mysqld.sock
我的单元测试失败了,他们告诉我其中一个人遇到了同样的问题,并改变了正确的问题解决了他的问题。
现在,Windows XAMPP中的该文件在哪里?我在整个硬盘中进行了搜索(我知道mysql必须运行才能存在该文件,是的,它正在运行:))我找不到它。
这家伙正在使用一个名为Parameters.ini的文件,其中指定了套接字路径,然后他调用$ container = $ kernel-> getContainer();并且数据库似乎已实例化。
我试图改变那个现在具有的文件(parameters.ini):
database_host = localhost
database_socket = /var/run/mysqld/mysqld.sock
database_user = user
database_password = pass
database_schema = lad
但是如果我删除了database_socket就会抱怨。
我尝试按照此处的说明操作:http://www.devside.net/guides/windows/mysql 设置(用xampp更改www)
解压缩为C:\ www \ mysql-5.1.56-win32
将目录C:\ www \ mysql-5.1.56-win32重命名为C:\ www \ mysql
将MySQL配置文件C:\ www \ mysql \ my-medium.ini(或您选择的其中一个包含我的 - * .ini文件)复制到%SYSTEMROOT%目录
将文件%SYSTEMROOT%\ my-medium.ini(或复制到我的 - * .ini文件)重命名为my.ini
Edit %SYSTEMROOT%\my.ini
在“[client]”和“[mysqld]”部分下,编辑...
socket = C:/www/tmp/mysql.sock
在“[mysqld]”部分下,插入......
basedir = C:/www/mysql/
datadir = C:/www/mysql/data/
重启了mysql,但什么都没发生。
答案 0 :(得分:3)
解决方案是将套接字行设置为空值。
socket = ""
答案 1 :(得分:1)
根据http://dev.mysql.com/doc/refman/5.1/en/connecting.html#option_general_socket,Windows安装的默认名称是MySQL。
对于xampp,套接字的默认位置是我的机器上的C:/xampp/mysql/mysql.sock我没有sock文件。我试图让它创造一个,但没有运气。如果你能找到一种方法来创建它,你将需要编辑/mysql_start.bat以包含命令或编辑位于C中的默认my.ini:/xampp/mysql/bin/my.ini
答案 2 :(得分:1)
对于Windows database_host
,database_user
,database_password
,database_schema
和database_port
(3306)就足够了,无需设置database_socket
。