Hallo zusammen,
ich habe ein PHP-Script geschrieben, welches eine bzw. mehrere XML-Files ausliest und die Daten in eine MySQL-DB wegschreibt. Das funktioniert per Browser-Aufruf einwandfrei.
Jetzt wollte ich mein Script per Cronjob regelmäßig abarbeiten lassen.
Das funktioniert auch bis zu dem Punkt, wo der Parser erzeugt wird:
$xml_parser = xml_parser_create('');
Dort stoppt das Script ohne Fehlermeldung oder Hinweis.......... Verzweiflung!
Warum funktioniert das Script per Browseraufruf und per Cron nicht? Gibt es da Unterschiede, die ich nicht beachtet habe? Kenne mich mit Crons noch nicht so gut aus.
Hier noch ein wenig Code zur Verdeutlichung:
Aufruf Cron:
PHP-Code:
Grüße Spamcam
ich habe ein PHP-Script geschrieben, welches eine bzw. mehrere XML-Files ausliest und die Daten in eine MySQL-DB wegschreibt. Das funktioniert per Browser-Aufruf einwandfrei.
Jetzt wollte ich mein Script per Cronjob regelmäßig abarbeiten lassen.
Das funktioniert auch bis zu dem Punkt, wo der Parser erzeugt wird:
$xml_parser = xml_parser_create('');
Dort stoppt das Script ohne Fehlermeldung oder Hinweis.......... Verzweiflung!
Warum funktioniert das Script per Browseraufruf und per Cron nicht? Gibt es da Unterschiede, die ich nicht beachtet habe? Kenne mich mit Crons noch nicht so gut aus.
Hier noch ein wenig Code zur Verdeutlichung:
Aufruf Cron:
Code:
/usr/local/psa/admin/bin/php /home/httpd/vhosts/meinedomain.de/httpdocs/import/import.php
PHP-Code:
Code:
// XML-Parsen
$file = "/home/httpd/vhosts/meinedomain.de/httpdocs/uploaded_test/".$filename;
echo $file."<br>";
if (file_exists($file)){
echo "Datei ist da jetzt sollte geparst werden!<br>";
// XML_PARSER
$elements = $stack = array();
$count = $depth = 0;
class element{
var $name = '';
var $attributes = array();
var $data = '';
var $depth = 0;
}
function start_element_handler($parser, $name, $attribs){
global $elements, $stack, $count, $depth;
$id = $count;
$element = new element;
$elements[$id] = $element;
$elements[$id]->name = $name;
while(list($key, $value) = each($attribs))
$elements[$id]->attributes[$key] = $value;
$elements[$id]->depth = $depth;
array_push($stack, $id);
$count++;
$depth++;
}
function end_element_handler($parser, $name){
global $stack, $depth;
array_pop($stack);
$depth--;
}
function character_data_handler($parser, $data){
global $elements, $stack;
$elements[$stack[count($stack)-1]]->data .= $data;
}
$xml_parser = xml_parser_create();
Grüße Spamcam