LOAD DATA LOCAL INFILE-Einschränkung in PHP
Das Laden von Daten aus einer lokalen Datei mit LOAD DATA LOCAL INFILE kann eine praktische Funktion zum Importieren von Daten sein . In bestimmten Fällen kann es jedoch bei Benutzern zu Problemen kommen, wenn sie versuchen, es über PHP auszuführen.
PHP-Einschränkungen mit LOAD DATA LOCAL INFILE
PHP schränkt die Verwendung von LOAD ein DATA LOCAL INFILE aufgrund von Sicherheitsbedenken. Der lokale Dateilesevorgang gilt als potenzielle Sicherheitslücke, weshalb PHP seine Ausführung verbietet. Standardmäßig verfügen PHP-Anwendungen nicht über die erforderlichen Berechtigungen, um auf lokale Dateien zuzugreifen.
Lösung des Problems
Um dieses Problem zu beheben, müssen Benutzer Leseberechtigungen für lokale Dateien aktivieren für PHP. Dies kann erreicht werden, indem das Attribut PDO::MYSQL_ATTR_LOCAL_INFILE beim Instanziieren des PDO-Objekts auf „true“ gesetzt wird.
Codebeispiel
Der folgende Codeausschnitt zeigt, wie das PDO festgelegt wird ::MYSQL_ATTR_LOCAL_INFILE-Attribut:
<code class="php">$conn = new PDO("mysql:host=$server;dbname=$database;", "$user", "$password", array( PDO::MYSQL_ATTR_LOCAL_INFILE => true, ));</code>
Sobald dieses Attribut aktiviert ist, sollte der LOAD DATA LOCAL INFILE-Vorgang erfolgreich von PHP-Anwendungen ausgeführt werden.
Das obige ist der detaillierte Inhalt vonWarum kann ich LOAD DATA LOCAL INFILE in PHP nicht verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!