我正在尝试通过Mac中的终端运行我的PHP脚本。当我尝试运行脚本时,我会收到以下错误:
警告:mysqli_connect():(HY000/2002):没有这样的文件或目录
这就是我尝试连接的方式:
mysqli_connect('localhost','root','oot','my_db');
我还尝试使用主机127.0.0.1而不是localhost进行连接,然后我得到了以下错误:
警告:mysqli_connect():(HY000/2002):连接拒绝
从我在网上读到的内容来看,这可能与mysql套接字有关,但无论我想做什么都无济于事。
我甚至尝试使用以下主机进行连接:
:/Applications/MAMP/tmp/mysql/mysql.sock
:/var/mysql/mysql.sock
知道问题/解决方案是什么吗?
也有同样的问题。以下是我所做的。
-
打开终端(/Applications/Utilities/Terminal.app)
-
使用您喜爱的文本编辑器创建/编辑
~/.bash_profile
。例如,如果您正在使用vim,请键入vim ~/.bash_profile
。我使用TextMate,所以我键入了mate ~/.bash_profile
。 -
添加这些行:
export MAMP_SQL=/Applications/MAMP/Library/bin export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.10/bin export PATH="$MAMP_SQL:$MAMP_PHP:$PATH"
这些行确保找到(因此使用)的MySQL和PHP的第一个版本是MAMP使用的版本注意:请确保php5.5.10与MAMP正在使用的版本匹配。默认情况下,您可以对照
http://localhost:8888/MAMP/index.php?page=phpinfo&language=English
进行检查保存文件(我不应该保存这个,但总是有人抱怨它不起作用)。 -
关闭终端窗口,然后重新打开。这将重新启动shell,它将加载
.bash_profile
脚本。 -
键入
which php
。你应该得到类似/Applications/MAMP/bin/php/php5.5.10/bin/php
的东西 -
键入
which mysql
。你应该得到类似/Applications/MAMP/Library/bin/mysql
的东西
如果出于任何原因,你得到了与5和6不同的回复,请返回并检查你的.bash_profile;你可能只是忽略了妥善保存。
如果您的计算机上安装了MySQL,您可以执行以下命令:
mysql -u "username"
将"用户名"替换为计算机的用户名
注意:root经常不起作用,请尝试您的计算机的用户名