May 8, 2013 -
mac
No Comments


mysql localhost vs 127.0.0.1
前几天,再把一个drupal项目导到自己电脑的时候,犯了一个低级错误。解决的过程有点2b,在这里记录一下自己的2b时刻。
一个drupal项目的数据库和站点文件全都导到自己的电脑上后,始终报一个错“No such file or directory”。站点文件的权限也简单粗暴的777了。但始终就是报这个错。上网查了后才知道是mysql.sock这个文件的路径指向不对造成的。需要吧php.ini里3个配置项改对。
首先在终端里执行:
/usr/local/mysql/bin/mysql
这样就进入mysql的命令行模式,然后执行:
status
然后就去修改php.ini的三个配置项
mysql.default_socket=/tmp/mysql.sock mysqli.default_socket=/tmp/mysql.sock pdo_mysql.default_socket=/tmp/mysql.sock
修改好后,重启apache,一切ok。
这样修改后,以后装drupal和wordpress的时候,就都可以用localhost了,不用再用127.0.0.1了。这个时候我才突然意识到,只要把drupal的settings.php里的mysql配置从localhost改成127.0.0.1就好了嘛。
然后上网查了一下localhost和127.0.0.1的区别,顺便记录一下这个知识点。
localhost也叫local ,正确的解释是:本地服务器
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。