MAMP的切换htdocs目录及连接mysql

时间:2022-02-10 12:26:11

在windows下,不管是WAMP或者是xampp,切换网站根目录都是很简单的。

在mac下面,我使用的是mamp,切换htdocs时遇到了一些问题。


MAMP安装后有两个软件,一个是MAMP,一个是MAMP  Pro,最好使用MAMP Pro,因为我发现使用MAMP无论怎么切换htdocs目录都不会成功。

我一开始是直接编辑的apache的http.conf文件,然而,保存后重启,切换不成功。编辑ngnix的conf文件同样也不成功。于是我放弃了手工编辑的这种方式。


后来,我是直接设置图形化界面的目录才切换成功的:

MAMP的切换htdocs目录及连接mysql


后记:mac下不论是xampp或者是mamp是真的垃圾,在windows下启动apache和mysql连半秒都不到,在mac上面要花好几秒。另外,配置网站根目录也是难用,就算配置成功了,还要考虑读权限的问题,如果访问不成功,要看一下网站路径是不是有读权限。这对于开发人员来说,要花费好多时间来处理这些恶心的问题。


第二个问题是php连接mysql:

在windows下,使用mysqli_connect不会有任何问题,但是在MAMP下面,会报这种错误:

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = homestead and table_name = migrations)

或者:

mac mysqli_connect(): (HY000/2002): No such file or directory in xxxxxx。

反正就是莫名其妙。。

google一下,一般会有两种解决方案:

第一种,把localhost改为127.0.0.1   然而并没什么luan用,如果你遇到这种问题,可以先尝试一下这种方法。

第二种:

mkdir /var/mysql

ln -s /tmp/mysql.sock /var/mysql/mysql.sock



原因分析:php会在/var/mysql/下面去找mysql.sock(可以在/etc/php.ini配置文件中找到).但是我们的mac上这个就没有/var/mysqlz这个目录.而mysql.sock文件在/tmp/mysql.sock下面.怎么办呢?

很简单了,我们只需要用ln -s来给/var/mysql/生成一个mysql.sock文件的"软连接"即可.

以上copy自:http://blog.csdn.net/luoshengkim/article/details/46654261


youtube上面也是这种方法:
MAMP的切换htdocs目录及连接mysql

经过实践,也是无效的。。

最终找到了方法:
在MAMP Pro里设置
MAMP的切换htdocs目录及连接mysql

重启mysql,就能用php连接了。具体原因不想再深究了。。