来源:自学PHP网 时间:2015-04-16 10:50 作者: 阅读:次
[导读] php连接数据库都没问题,升级到10 10这后, 突然连接不上了 这个问题放了很久, 今天突然搜索到一篇文章 用链接的方式解决了 原文如下:So you installed Ubuntu, got all excited about develop...
php连接数据库都没问题,升级到10.10这后, 突然连接不上了. 这个问题放了很久, 今天突然搜索到一篇文章. 用链接的方式解决了. 原文如下: So you installed Ubuntu, got all excited about developing your Rails application on it, and then… No such file or directory - /tmp/mysql.sock) No matter what you do, database connection doesn’t work. You reinstall Rails (of course you installed it via “sudo apt-get rails”, right??), reinstall MySql, recreate the database schema, change root’s password, install Kubuntu instead of Ubuntu… But it doesn’t work. The reason for this error is quite simple, really: somewhere along Ruby’s Mysql driver, mysql socket is expected to exist at /tmp/mysql.sock. But that’s not where it is in Ubuntu. If you take some time searching, you’ll notice that the .sock file is actually on /var/run/mysqld - and it’s called mysqld.sock instead. In fact, if you Google it, there is a closed bug entry on Rails’ tracking system regarding that problem, and the suggested solution there is to change your database.yml to add a link to the correct socket. Something like: production: adapter: mysql socket: /var/run/mysqld/mysqld.sock Which is obviously not a good idea, since you’ll end up creating new projects, moving to a different OS or whatever - and everything will break again. So I tried a small patchwork to fool mysql’s driver, and then it works nicely: sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock That way you will actually HAVE a /tmp/mysql.sock file, as expected by mysql driver, and everything will connect just fine. Just like it’s meant to be. Amen! |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com