1. ホーム
  2. php

[解決済み] CodeIgniterです。提供された設定を使用してデータベースサーバーに接続できません エラーメッセージ

2022-01-30 15:19:39

質問

今までMySQLのドライバを使ってCIをうまく使っていました。その代わりにMySQLドライバを使いたいのですが、変更(MySQLの最後に「i」を追加し、ポート番号を追加しただけ)するとすぐに次のエラーメッセージが表示されます。

データベースエラーが発生しました

提供された設定を使用して、データベースサーバーに接続できません。

ファイル名:core/Loader.php

行番号: 232

私の設定はこのような感じです。

$db['default']['hostname'] = $hostname;
$db['default']['username'] = $username;
$db['default']['password'] = $password;
$db['default']['database'] = $database;
$db['default']['dbdriver'] = 'mysqli';
$db['default']['port']     = "3306";  
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE; 

where
$hostname = 'localhost';
$username = 'myusernamegoeshere';
$password = 'mypasswordgoeshere';
$database = 'mydatabasenamegoeshere'; 

使っています。

<ブロッククオート

CI 2.0.2 php 5.3.4 Apache/2.2.17 (Unix) mysql 5.5.13 mysql.default_port 3306

私は何か間違ったことをしているのでしょうか?

ありがとうございました。

解決方法は?

私の場合、問題は php.ini ファイルにありました。mysql.default_socketというプロパティが、存在しないディレクトリのファイルを指していました。このプロパティが指しているのは /var/mysql/mysql.sock が、OSXでは、そのファイルは /tmp/mysql.sock .

php.iniのエントリを更新し、ウェブサーバを再起動したら、問題は解決しました。