PHPは、Web開発だけでなく、コマンドライン(CLI)環境でスクリプトを実行できる柔軟なスクリプト言語です。 CLIモードのPHPは、より軽く、より速く実行され、特にスケジューリングタスク、スクリプトの自動化、テストなどのシナリオに適しています。このモードでは、 mysqliやPDOなどの拡張機能が通常使用されます。この記事では、 MySQLIのconnect()関数を使用して、CLIモードのMySQLデータベースに接続する方法に焦点を当てます。
開始する前に、サーバーまたは開発環境に次の条件が既にあることを確認してください。
PHPがインストールされ、 MySQLI拡張機能が有効になります。
端末(コマンドライン)を介してPHPを実行できます。
MySQLデータベースが確立されており、正しいユーザー名、パスワード、データベース名があります。
mysqli_connect()を使用してCLIを介してデータベースに接続する簡単な例を次に示します。
<code> <?php //データベース接続パラメーター
$ host = 'localhost';
$ user = 'your_username';
$ password = 'your_password';
$ database = 'your_database';
// mysqli_connectを使用して接続します
$ conn = mysqli_connect($ host、$ user、$ password、$ database);
//接続が成功しているかどうかを確認します
if(!$ conn){
die( "接続が失敗した:"。mysqli_connect_error());
}
エコー「接続された接続!\ n ";
//接続を閉じます
mysqli_close($ conn);
?>
</code>
このPHPスクリプトを実行する方法は、端末に入力することです。
php connect_db.php
スクリプトファイル名がconnect_db.phpであるとします。
CLIモードでのデバッグはより直接的ですが、エラー処理メカニズムを追加することもお勧めします。たとえば、接続中にエラーを処理する関数をカプセル化できます。
<code> <?php関数connectDataBase(){
$ conn = mysqli_connect( 'localhost'、 'user'、 'pass'、 'db');
if (!$conn) {
file_put_contents('php://stderr', "データベース接続に失敗しました:" . mysqli_connect_error() . "\n");
exit(1); // ゼロ以外の出口コードは例外を示します
}
return $conn;
}
$ conn = connectdatabase();
エコー「接続された接続!\ n ";
mysqli_close($ conn);
?>
</code>
エラーを標準エラー( php:// stderr )に出力することにより、ログまたは自動スクリプトでより便利に例外をキャッチできます。
一部のシナリオでは、構成ファイルまたはURL形式などのコマンドラインパラメーターから接続情報を取得できます。
<code> <?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);
// parse url
$ parts = parse_url($ db_url);
$ user = $ parts ['user'];
$ pass = $ parts ['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);
?>
</code>
このアプローチは、特に展開自動化中、構成管理に非常に役立ちます。
PHPを使用してCLIモードでデータベースに接続することは複雑ではありません。基本的な接続関数とエラー処理メカニズムを理解している限り、さまざまなシナリオを柔軟に対処できます。 URL構成と標準の出力管理を組み合わせることで、スクリプトをよりポータブルで保守可能にすることができます。定期的に実行する必要があるタスクの場合、CrontabとCLI PHPを組み合わせることは非常に効率的な選択です。