我有一台运行Xampp的虚拟机。如果我运行一个脚本从数据库中读取一些数据并将其写回,如果我在localhost本身(localhost / script.php)上执行此操作,则可以正常工作。 如果我使用客户端(IP.of.client / script.php)运行脚本,脚本将启动,但在结束之前中止而不会显示任何错误消息(错误消息全部启用)。
脚本大约需要6秒钟。
在localhost和客户端上运行有什么区别?
的问候, 斯蒂芬
剧本:
error_reporting(E_ALL);
ini_set ('error_reporting', E_ALL);
ini_set('display_errors', 1);
date_default_timezone_set("Europe/Berlin");
include('classes/bitdb.php');
include('classes/mailer.php');
include('classes/tools.php');
include('classes/ftp.php');
$beginn = microtime(true);
//CSV-Pfad
$CSVPfad = "CSVData/";
$filename = "kundenkarten.txt";
//Öffne Bit Datenbank
$conn = bitdb::OpenDB();
$CSVData = "Kundenkarten\n";
//Hole Artikelliste von der Webseite
$res = bitdb::getKundenkarten($conn);
echo odbc_num_rows($res);
$anz_rows = 0;
while(odbc_fetch_row($res)){
$anz_rows++;
$LfdNr = bitdb::odbc_resultat($res, "LfdNr");
$kartengruppe = bitdb::odbc_resultat($res, "Kartengruppe");
if(bitdb::odbc_resultat($res, "Gesperrt") >= 1)
$gesperrt = 1;
else
$gesperrt = 0;
$res2 = "";
//Adresse-ID ermitteln
if($kartengruppe == "3"){ //Kundenkarte
$res2 = bitdb::getKundenAdresse($LfdNr , $conn);
}
elseif($kartengruppe == "4"){ //Firmenkundenkarte
//Bei Firmenkundenkarten muss ein Umweg über die DB Personal gemacht werden
$res2 = bitdb::getKundenAdresseFirmen($LfdNr , $conn);
//Kartennummer muss aber auf altem Weg geholt werden
$res3 = bitdb::getKundenAdresse($LfdNr , $conn);
odbc_fetch_row($res3);
$kartennummer = bitdb::odbc_resultat($res3, "SATZNR");
}
//else
//echo "<br/>".bitdb::odbc_resultat($res, "LfdNr");
// odbc_result_all($res2,"border=1");
if($res2){
while(odbc_fetch_row($res2)){
if(bitdb::odbc_resultat($res2, "ADRESSKZ") == 1){ //Kassenkunden Firmenkunden
//Kunden
$firmenkunde = 1;
$kundennummer = bitdb::odbc_resultat($res2, "SATZNR"); //hier kundennummer, nicht kartennummer!
$CSVData .= $kartennummer.";".bitdb::odbc_resultat($res, "KartenID").";".bitdb::odbc_resultat($res2, "NAME1").";".bitdb::odbc_resultat($res2, "NAME2").";".bitdb::odbc_resultat($res2, "STRASSE").";".bitdb::odbc_resultat($res2, "PLZ").";".bitdb::odbc_resultat($res2, "ORT").";".$kartengruppe.";".$gesperrt.";".bitdb::odbc_resultat($res, "Eingezogen").";".$firmenkunde."\n";
echo "<br/>".$kartennummer.";".bitdb::odbc_resultat($res, "KartenID").";".bitdb::odbc_resultat($res2, "NAME1").";".bitdb::odbc_resultat($res2, "NAME2").";".bitdb::odbc_resultat($res2, "STRASSE").";".bitdb::odbc_resultat($res2, "PLZ").";".bitdb::odbc_resultat($res2, "ORT").";".$kartengruppe.";".$gesperrt.";".bitdb::odbc_resultat($res, "Eingezogen").";".$firmenkunde;
}
elseif(bitdb::odbc_resultat($res2, "ADRESSKZ") == 8){ //Kassenkunden
//Kunden
$firmenkunde = 0;
$kartennummer = bitdb::odbc_resultat($res2, "SATZNR");
$CSVData .= $kartennummer.";".bitdb::odbc_resultat($res, "KartenID").";".bitdb::odbc_resultat($res2, "NAME1").";".bitdb::odbc_resultat($res2, "NAME2").";".bitdb::odbc_resultat($res2, "STRASSE").";".bitdb::odbc_resultat($res2, "PLZ").";".bitdb::odbc_resultat($res2, "ORT").";".$kartengruppe.";".$gesperrt.";".bitdb::odbc_resultat($res, "Eingezogen").";".$firmenkunde."\n";
echo "<br/>".$kartennummer.";".bitdb::odbc_resultat($res, "KartenID").";".bitdb::odbc_resultat($res2, "NAME1").";".bitdb::odbc_resultat($res2, "NAME2").";".bitdb::odbc_resultat($res2, "STRASSE").";".bitdb::odbc_resultat($res2, "PLZ").";".bitdb::odbc_resultat($res2, "ORT").";".$kartengruppe.";".$gesperrt.";".bitdb::odbc_resultat($res, "Eingezogen").";".$firmenkunde;
}
elseif(bitdb::odbc_resultat($res2, "ADRESSKZ") == 4){ //Mitarbeiter
//Personal
//echo " PERSONAL: ".bitdb::odbc_resultat($res2, "NAME1")." ".bitdb::odbc_resultat($res2, "NAME2")." PERS#: ".bitdb::odbc_resultat($res2, "SATZNR");;
echo " MITARBEITER ADRESSKZ => ABBRUCH";
}
else{
echo " UNBEKANNTE ADRESSKZ: ".bitdb::odbc_resultat($res2, "ADRESSKZ")." => ABBRUCH";
}
}
}
else{
if($kartengruppe == 1){ //Mitarbeiterkarten
//Alles ok!
}
else{
//echo "<br/> Fehler01: Kartengruppe = ".$kartengruppe." LfdNr = ".$LfdNr;
}
}
}
echo "<br/> Anzahl Datensätze: ".$anz_rows;
之后,数组将以txt文件写入,通过FTP上传到另一台服务器,但脚本没有完成while()。