CodeIgniter错误mysql_connect(): No such file or directory解决方法

  首先CodeIgniter连接数据库连不上,总是显示连接错误,但是又没有error信息,难以debug。

  解决方案是:在application/config/database.php文件的最后加上这一段代码:

  

复制代码 代码如下:

  echo '<pre>';

  print_r($db['default']);

  echo '</pre>';

  echo 'Trying to connect to database: ' .$db['default']['database'];

  $dbh=mysql_connect

  (

  $db['default']['hostname'],

  $db['default']['username'],

  $db['default']['password'])

  or die('Cannot connect to the database because: ' . mysql_error());

  mysql_select_db ($db['default']['database']);

  echo '<br />   Connected OK:'  ;

  die( 'file: ' .__FILE__ . '--> Line: ' .__LINE__);

  显示报错,问题是mysql_connect(): No such file or directory报错。

  因为以前也有用过CI都没有这个错误,谷歌一下发现是因为MySQL是brew安装的,因为路径问题导致PHP无法获取相关数据。

  解决方案:

  如果你已经有了 /tmp/mysql.sock 但是没有  /var/mysql/mysql.sock 你应该:

  

复制代码 代码如下:

  cd /var

  mkdir mysql

  cd mysql

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

  如果你有了 /var/mysql/mysql.sock   但是没有  mysql.sock name:

  

复制代码 代码如下:

  cd /tmp

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