작은숲:위키노트/PHP mysqli options

큰숲백과, 나무를 보지 말고 큰 숲을 보라.

PHP에서 mysqliMySQL 데이터베이스 접속할 때 필요한 설정들을 .my.cnf와 같은 형식의 설정 파일에 저장해놓고 쓸 수 있다.

[client]
host = localhost
user = someone
password = simplepassword
database = sample
default-character-set = utf-8

이렇게 작성된 설정 파일은 PHP의 mysql_options() 함수를 써서 접속할 때 사용한다.

$sql = mysqli_init();
mysql_options(MYSQLI_READ_DEFAULT_FILE, '/path/to/my.cnf');
mysql_options(MYSQLI_READ_DEFAULT_GROUP, "client");
mysqli_real_connect($sql);

하지만 이 경우 password 지시자의 값을 제대로 읽어오지 못하는데 이건 버그라고 알려져 있으며 아직 수정되지 않은 상태이다. 따라서 PHP 소스에 MySQL 접속 비밀번호를 직접 쓰지 않고 설정 파일을 쓰려면 parse_ini_file() 함수를 쓴다.

$opts = parse_ini_file('/path/to/my.cnf');
$sql = mysqli_init();
mysqli_real_connect($sql, $opts['host'], $opts['user'], $opts['password'], $opts['database']);

참고

이 작은숲 문서의 출처는 위키노트의 위키노트/PHP mysqli options 문서입니다.