Klaus1: Permission denied beim PHP/MySQL Load into Table

Beitrag lesen

Also die Wette mit Python wäre verloren 😉

Es ist ein reines PHP, das den Import durchführen möchte und die Fehlermeldung ausgibt:

Hier ein Code-Schnipsel:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$referer = $_SERVER['HTTP_REFERER'];
$client_ip = $_SERVER['REMOTE_ADDR'];
if (($referer == "https://xxxxx.de/main.php") AND (substr($client_ip,0,3)=="10.")) {
	$verbindung = mysqli_connect($server,$login,$pass,$dbname);

	echo "Start<br/>";

	$importdateien = "";
	$zeitstempel = "";
	foreach (glob("/var/lib/mysql-files/t_company_*.csv") as $file) {			// alle Dateien, die mit t_company anfangen und als Endung .csv haben
		// Zeitstempel extrahieren
		$zeitstempel = substr($file,31,-4);
		$importdateien .= "t_company_".$zeitstempel.".csv,t_position_".$zeitstempel.".csv,t_kopf_".$zeitstempel.".csv,";

		echo "Import-Tabellen leeren...<br/>";

		$abfrage = "truncate table imp_company";
		$erg = mysqli_query($verbindung,$abfrage);
	  
		echo "Daten mit Zeitstempel $zeitstempel werden importiert...<br/>";

		// importieren
		$abfrage = "LOAD DATA INFILE '/var/lib/mysql-files/t_company_".$zeitstempel.".csv' INTO TABLE imp_company CHARACTER SET UTF8 FIELDS TERMINATED BY ';'";
		$erg = mysqli_query($verbindung,$abfrage);
		if (!$erg) {
			echo "Import-Error: ".mysqli_error($verbindung);
		}


		// hier werden die Daten dann verarbeitet und danach ins Archiv geschoben


		rename("/var/lib/mysql-files/t_company_".$zeitstempel.".csv", "/var/lib/mysql-files/archiv/t_company_".$zeitstempel.".csv");



Die ausgegebene Fehlermeldung sieht dann so aus:

Import-Tabellen leeren...
Daten mit Zeitstempel 20191120125208 werden importiert...
Import-Error: File '/var/lib/mysql-files/t_company_20191120125208.csv' not found (OS errno 13 - Permission denied)

LG Klaus