PHP는 웹 개발뿐만 아니라 명령 줄 (CLI) 환경에서 스크립트를 실행할 수있는 유연한 스크립팅 언어입니다. CLI 모드의 PHP는 가볍고 빠르게 실행되며 특히 스케줄링 작업, 스크립트 자동화 및 테스트와 같은 시나리오에 적합합니다. 이 모드에서는 MySQLI 또는 PDO 와 같은 확장이 일반적으로 사용됩니다. 이 기사는 MySQLI 의 Connect () 함수를 사용하여 CLI 모드의 MySQL 데이터베이스에 연결하는 방법에 중점을 둘 것입니다.
시작하기 전에 서버 또는 개발 환경에 이미 다음 조건이 있는지 확인하십시오.
PHP가 설치되고 MySQLI 확장이 활성화됩니다.
터미널 (명령 줄)을 통해 PHP를 실행할 수 있습니다.
MySQL 데이터베이스가 설정되었으며 올바른 사용자 이름, 비밀번호 및 데이터베이스 이름이 있습니다.
다음은 MySQLI_CONNECT ()를 사용하여 CLI를 통해 데이터베이스에 연결하는 간단한 예입니다.
<코드> <? php // 데이터베이스 연결 매개 변수
$ host = 'localhost';
$ user = 'your_username';
$ password = 'your_password';
$ Database = 'Your_database';
// mysqli_connect를 사용하여 연결합니다
$ conn = mysqli_connect ($ host, $ user, $ password, $ database);
// 연결이 성공했는지 확인하십시오
if (! $ conn) {
다이 ( "연결 실패 :". mysqli_connect_error ());
}
Echo "성공적으로 연결되었습니다! \ n";
// 연결을 닫습니다
mysqli_close ($ conn);
?>
</코드>
이 PHP 스크립트를 실행하는 방법은 터미널에 입력하는 것입니다.
php connect_db.php
스크립트 파일 이름이 connect_db.php 라고 가정 해 봅시다.
CLI 모드에서 디버깅이 더 직접적이지만 오류 처리 메커니즘을 추가하는 것이 좋습니다. 예를 들어, 연결하는 동안 오류를 처리하기 위해 함수를 캡슐화 할 수 있습니다.
<코드> <? php 함수 connectDatabase () {
$ conn = mysqli_connect ( 'localhost', 'user', 'pass', 'db');
if (!$conn) {
file_put_contents('php://stderr', "데이터베이스 연결에 실패했습니다:" . mysqli_connect_error() . "\n");
exit(1); // 0이 아닌 출구 코드는 예외를 나타냅니다
}
return $conn;
}
$ conn = connectDatabase ();
Echo "성공적으로 연결되었습니다! \ n";
mysqli_close ($ conn);
?>
</코드>
오류를 표준 오류 ( php : // stderr )로 출력하면 로그 또는 자동 스크립트에서 예외를보다 편리하게 포착 할 수 있습니다.
일부 시나리오에서는 구성 파일 또는 URL 형식과 같은 명령 줄 매개 변수에서 연결 정보를 얻을 수 있습니다.
<코드> <? php$ db_url = 'mysql : // user : pass@localhost/dbname';
// m66.net을 데모 도메인 이름으로 바꿉니다
$ db_url = str_replace (parse_url ($ db_url, php_url_host), 'm66.net', $ db_url);
// URL을 구문 분석합니다
$ parts = parse_url ($ db_url);
$ user = $ 부품 [ '사용자'];
$ pass = $ 부품 [ 'Pass'];
$ host = $ parts [ 'host'];
$ dbname = ltrim ($ parts [ 'path'], '/');
// 연결을 만듭니다
$ conn = mysqli_connect ($ host, $ user, $ pass, $ dbname);
if (! $ conn) {
die ( "연결 실패 :". mysqli_connect_error (). "\ n");
}
Echo "URL \ n을 사용하여 성공적으로 연결";
mysqli_close ($ conn);
?>
</코드>
이 접근 방식은 특히 배포 자동화 중 구성 관리에 매우 유용합니다.
CLI 모드에서 데이터베이스에 연결하기 위해 PHP를 사용하는 것은 복잡하지 않습니다. 기본 연결 기능 및 오류 처리 메커니즘을 이해하는 한 다양한 시나리오를 유연하게 처리 할 수 있습니다. URL 구성과 표준 출력 관리를 결합하면 스크립트를보다 휴대 가능하고 유지 관리 할 수 있습니다. 정기적으로 실행 해야하는 작업의 경우 Crontab과 CLI PHP를 결합하는 것이 매우 효율적인 선택입니다.