PHP ist eine flexible Skriptsprache, die nicht nur für die Webentwicklung verwendet werden kann, sondern auch Skripte in einer CLI -Umgebung (Befehlszeile) ausführt. PHP im CLI -Modus läuft leichter und schneller, insbesondere für Szenarien wie Planungsaufgaben, Skriptautomatisierung und Tests. In diesem Modus werden normalerweise Erweiterungen wie MySQLI oder PDO verwendet. Dieser Artikel konzentriert sich auf die Verwendung von MySQLIs Connect () -Funktion, um eine Verbindung zur MySQL -Datenbank im CLI -Modus herzustellen.
Stellen Sie vor Beginn sicher, dass Ihre Server- oder Entwicklungsumgebung bereits die folgenden Bedingungen hat:
PHP ist installiert und die MySQLI -Erweiterung ist aktiviert.
Sie können PHP über das Terminal (Befehlszeile) ausführen.
Die MySQL -Datenbank wurde festgelegt und verfügt über den richtigen Benutzernamen, Kennwort und Datenbanknamen.
Hier ist ein einfaches Beispiel für die Verwendung von MySQLI_Connect () zur Verbindung zu einer Datenbank über die CLI:
<Code> <? Php // Datenbankverbindungsparameter
$ host = 'localhost';
$ user = 'your_username';
$ password = 'your_password';
$ database = 'your_database';
// Verwenden Sie MySQLi_Connect, um eine Verbindung herzustellen
$ conn = mysqli_connect ($ host, $ user, $ password, $ database);
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if (! $ conn) {
Die ("Verbindung fehlgeschlagen:". mysqli_connect_error ());
}
echo "erfolgreich angeschlossen! \ n";
// die Verbindung schließen
MySQLI_CLOSE ($ conn);
?>
</code>
Der Weg, dieses PHP -Skript auszuführen, besteht darin, in das Terminal einzugeben:
php connect_db.php
Angenommen, der Skriptdateiname lautet Connect_db.php .
Das Debuggen im CLI -Modus ist direkter, es wird jedoch auch empfohlen, einen Fehlerbehandlungsmechanismus hinzuzufügen. Sie können beispielsweise eine Funktion zusammenfassen, um Fehler während der Verbindung zu verarbeiten:
<Code> <? Php Funktion ConnectDatabase () {
$ conn = mysqli_connect ('localhost', 'user', 'pass', 'db');
if (!$conn) {
file_put_contents('php://stderr', "Die Datenbankverbindung ist fehlgeschlagen:" . mysqli_connect_error() . "\n");
exit(1); // Der Exit-Code von ungleich Null gibt eine Ausnahme an
}
return $conn;
}
$ conn = ConnectDatabase ();
echo "erfolgreich angeschlossen! \ n";
MySQLI_CLOSE ($ conn);
?>
</code>
Durch Ausgabe des Fehlers in einen Standardfehler ( Php: // stderr ) können Sie bequeme Ausnahmen in Protokollen oder in automatisierten Skripten fangen.
In einigen Szenarien können Sie Verbindungsinformationen aus Konfigurationsdateien oder Befehlszeilenparametern wie dem URL -Format erhalten:
<Code> <? Php$ db_url = 'mysql: // user: Pass@localhost/dbname';
// Ersetzen Sie M66.net als Demo -Domain -Name
$ db_url = str_replace (parse_url ($ db_url, php_url_host), 'm66.net', $ db_url);
// URL analysieren
$ parts = parse_url ($ db_url);
$ user = $ part ['user'];
$ pass = $ parts ['pass'];
$ host = $ part ['host'];
$ dbname = ltrim ($ part ['path'], '/');
// eine Verbindung erstellen
$ conn = mysqli_connect ($ host, $ user, $ pass, $ dbname);
if (! $ conn) {
Die ("Verbindung fehlgeschlagen:". mysqli_connect_error (). "\ n");
}
echo "erfolgreich mit URL \ n" verbinden;
MySQLI_CLOSE ($ conn);
?>
</code>
Dieser Ansatz ist sehr hilfreich für das Konfigurationsmanagement, insbesondere während der Bereitstellungsautomatisierung.
Die Verwendung von PHP zur Verbindung zu einer Datenbank im CLI -Modus ist nicht kompliziert. Solange Sie die grundlegenden Verbindungsfunktionen und den Fehlerbehebungsmechanismus verstehen, können Sie sich flexibel mit verschiedenen Szenarien befassen. Durch die Kombination von URL -Konfiguration und Standardausgangsmanagement können Skripte tragbarer und wartbarer werden. Bei Aufgaben, die regelmäßig ausgeführt werden müssen, ist die Kombination von Crontab und CLI -PHP eine sehr effiziente Wahl.