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

Utolee90 (토론 | 기여)님의 2022년 5월 7일 (토) 19:19 판 (Utolee90님이 PHP mysqli options 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/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 문서입니다.