Wenn PHP eine Verbindung zur Oracle-Datenbank herstellt und die abgefragte Datenmenge relativ groß ist oder die Abfragezeit relativ lang ist, kann es sehr wahrscheinlich zu einer Zeitüberschreitung der Verbindung kommen. Um diese Situation zu vermeiden, müssen wir den Timeout-Zeitraum für PHP festlegen, um eine Verbindung zur Oracle-Datenbank herzustellen.
So legen Sie das Zeitlimit für die Verbindung von PHP mit der Oracle-Datenbank fest:
Oracle-Datenbank hat ein Standard-Sitzungszeitlimit von 15 Minuten, wenn in diesem Zeitraum keine Vorgänge ausgeführt werden , Oracle wird die Verbindung automatisch trennen. Wenn Sie ein kürzeres Sitzungszeitlimit festlegen müssen, können Sie die folgende SQL-Anweisung verwenden:
ALTER PROFILE default LIMIT idle_time 10;
Der obige Befehl setzt das Sitzungszeitlimit auf 10 Minuten. Dieser Befehl muss nur einmal ausgeführt werden, dann nutzen alle Verbindungen dieses Sitzungszeitlimit.
Suchen Sie die PHP-Konfigurationsdatei php.ini und suchen Sie nach den folgenden Konfigurationselementen, um das Zeitlimit für PHP für die Verbindung mit der Oracle-Datenbank festzulegen:
; Default timeout for socket based streams (seconds) default_socket_timeout = 600
Die oben genannten Befehlssätze das Verbindungs-Timeout auf 600 Sekunden (10 Minuten). Wenn Sie ein kürzeres Verbindungszeitlimit festlegen müssen, können Sie es auf den entsprechenden Wert ändern. Bitte beachten Sie, dass diese Einstellung alle Skripte betrifft, die PHP zur Verbindung mit Oracle-Datenbanken verwenden.
Wenn Sie PDO verwenden, um eine Verbindung zur Oracle-Datenbank herzustellen, können Sie das Verbindungszeitlimit über den folgenden Code festlegen:
$pdo = new PDO('oci:dbname=//localhost:1521/orcl', $username, $password, array( PDO::ATTR_TIMEOUT => 10));
Der obige Befehl setzt das Verbindungszeitlimit auf 10 Sekunden. Wenn kein Timeout erforderlich ist, kann diese Option auf 0 gesetzt werden.
Zusammenfassung
Das Festlegen des Timeout-Zeitraums für PHP zum Herstellen einer Verbindung zur Oracle-Datenbank ist eine sehr praktische Technik, mit der Verbindungstimeouts vermieden werden können, wenn große Datenmengen abgefragt werden oder die Abfragezeit lang ist. Mit den oben genannten drei Methoden können Sie das Verbindungszeitlimit ganz einfach an Ihre Anforderungen anpassen.
Das obige ist der detaillierte Inhalt vonSo legen Sie den Timeout-Zeitraum für PHP fest, um eine Verbindung zur Oracle-Datenbank herzustellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!