我尝试使用MAMP在本地主机上安装Concrete5,但每次我把它放在数据库信息中时,都会收到此错误。
SQLSTATE[HY000] [2002] No such file or directory
我该如何解决这个问题?
答案 0 :(得分:0)
错误2002通常显示为
ERROR 2002(HY000):无法通过套接字'/path/to/mysqld/mysqld.sock'连接到本地MySQL服务器
PHP无法使用套接字连接到MySQL。在Windows上你可能不想使用unix socket。
“但我没有使用unix套接字,我只是连接到localhost”你可能会说。
对于PHP驱动程序,“localhost”具有described in the PHP manual的特殊含义。
hostname localhost具有特殊含义。它必然会使用Unix域套接字。使用主机名localhost打开TCP / IP连接是不可能的,您必须使用127.0.0.1。
解决方案:将127.0.0.1配置为Concrete5的MySQL主机。
答案 1 :(得分:0)
我终于解决了这个问题。我进入MAMP并找到了MySQL端口号并以这种格式输入服务器盒:localhost:[MySQL Port]。
答案 2 :(得分:0)
尝试127.0.0.1:[MySQL port]
,这对我有用。
要查找您的端口号,请转到MAMP中的MySQL部分,然后查看屏幕的右上角。会有一条消息说:MySQL配置为使用端口[port number]
。
答案 3 :(得分:0)
我在MacOS 10.13和MAMP 5.1上做到了,在 / var / mysql (如果目录不存在,则创建目录)中创建指向mysql.sock的符号链接。
它的解决方案在全球范围内有效,无需更改任何配置,因此PHP可以连接到MySQL。
在控制台/终端中输入:
sudo mkdir /var/mysql
cd /var/mysql && sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock