首先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