我正在尝试使用Apple上的Terminal(使用PHP)连接到MySQL数据库。
昨天一切正常,现在突然出现标题错误。
当我使用浏览器运行脚本(安装了XAMPP)时,该脚本起作用,但是Terminal拒绝连接至数据库。
这是我要连接的文件(当我不包含此文件,但随后它没有连接到数据库时,脚本将起作用):
应该可以,因为它可以与我的浏览器一起使用。我在终端上使用的命令是php scriptname.php。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
由于某种原因,OS X上的mysql弄错了所需套接字文件的位置,但是值得庆幸的是,解决方案就像设置符号链接一样简单。
您可能有一个套接字(显示为零长度文件),其名称为/tmp/mysql.sock或/var/mysql/mysql.sock,但是一个或多个应用正在其他位置寻找它。用以下命令找出:
ls -l /tmp/mysql.sock /var/mysql/mysql.sock 无需移动套接字,编辑配置文件,并且必须记住将编辑后的文件保留在本地且远离路径正确的服务器,只需创建一个符号链接即可,即使Mac放在错误的位置,Mac也可以找到所需的套接字!
如果您有,/tmp/mysql.sock但没有/var/mysql/mysql.sock...
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock 如果您有,/var/mysql/mysql.sock但没有/tmp/mysql.sock...
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock 您将需要创建目录和链接的权限,因此,如有必要,只需在上面的命令前加上sudo即可。来源:stack overflow