moloch500
Goto Top

Batch Datei auf englischem Server 2003

Hallo Leute,

folgendes Problem, ich habe hier einen englischen Win Server 2003 Standard SP1.
Darauf ist eine Applikation installiert (Content Management System RedDot).
Nun habe ich hier eine .bat Datei, die vom CMS aus gestartet werden soll, mit folgendem Link:
"c:\Program Files\RedDot\CMS\ASP\PlugIns\krones\scripts\set_date_calendar\set_date_calendar. bat".  
Mit der .bat Datei wiederum wird folgendes gestartet:
c:\php\php.exe "c:\Program Files\RedDot\CMS\ASP\PlugIns\krones\scripts\set_date_calendar\main.php"  
Hier der Inhalt der "main.php":
<?php
include ("../../conf/local.inc");  
include ($path_rqllib_conf."/std.inc");  

include("data.inc.php");  

global $rql, $user_guid;

$debug = new Debug;
$debug->noclose();

$rql = new RQL;

$log_data = array();
$log_data = $rql->login($rd_user,$rd_pass,$rd_project_guid);

if ($log_data){

$log_text = "******************************************************************************* *****"."\r\n";  
$log_text .= "Set calendar date. Start: ".get_mysql_date();  
save_log_data ($log_text);
echo "Set calendar date. Start: ".get_mysql_date()." \r\n";  

$rd_info_loginguid = $log_data['login_guid'];  
$rd_info_sessionkey = $log_data['session_key'];  
$user_guid = $log_data['user_guid'];  

$debug->add_var("Login GUID", $rd_info_loginguid);  
$debug->add_var("Session Key", $rd_info_sessionkey);  

$rdsession = array ($rd_info_loginguid, $rd_info_sessionkey);

$rql->init($rdsession);
$rql->debug_init($debug);

set_time_limit(0);


$links = $rql->get_links($event_calendar_page);

if ( (!isset($links['months'])) ||  
((isset($links['months'])) && ($links['months']['type']!='13') ) ) {  
onError($rql, "Fehler: Die Liste 'months' wurde nicht gefunden.");  
}

if ( (!isset($links['reference_current_month'])) ||  
((isset($links['reference_current_month'])) && ($links['reference_current_month']['type']!='28') ) ) {  
onError($rql, "Fehler: Der Container 'reference_current_month' wurde nicht gefunden.");  
}

$list_months_guid = $links['months']['guid'];  
$reference_container_guid = $links['reference_current_month']['guid'];  

$current_date_title = substr(get_mysql_date(),0,4).'.'.substr(get_mysql_date(),5,2);  

list($pageid, $pageguid, $pagetitle) = $rql->get_linkedpages($list_months_guid);

$res = FALSE;
foreach($pagetitle as $index=>$title){
if (trim($title == $current_date_title)){
$res = TRUE;
$rql->reference_to_page($reference_container_guid,$pageguid[$index]);
$log_text = "Month page title: $title \r\nMonth page guid: ".$pageguid[$index];  
save_log_data ($log_text);
echo "Month page title: $title \r\nMonth page guid: ".$pageguid[$index]." \r\n";  
}
}

if ($res == FALSE) onError("Fehler: Die Seite '$current_date_title' wurde nicht gefunden.");  

$rql->logout($user_guid);

$log_text = "Set calendar date. Finished: ".get_mysql_date();  
echo "Set calendar date. Finished: ".get_mysql_date()." \r\n";  

save_log_data ($log_text);

set_time_limit(30);

}// if ($log_data)


function save_log_data ($log_text){
$f = fopen('log.txt','a');  
fwrite ($f,$log_text."\r\n");  
fclose($f);
}

function get_mysql_date(){
//Datum
$cd = getdate();
foreach ($cd as $index => $value){
if (strlen($value) == 1) $cd[$index] = '0'.$cd[$index];  
}
$date=$cd['year']."-".$cd['mon']."-".$cd['mday'];  
$time=$cd['hours'].":".$cd['minutes'].":".$cd['seconds'];  
$date_time = $date." ".$time;  
return $date_time;
}

function onError($massage){
global $rql, $user_guid;
save_log_data ($massage);
$rql->logout($user_guid);
exit($massage);

}

?>

**Und zu guter letzt, der Inhalt der Includierten "local.inc"**  

<?php

$path_cms_plugins = "C:/Program Files/RedDot/CMS/ASP/PlugIns";  
$path_rqllib_conf = $path_cms_plugins."/aiticon/rqllib/conf";  

include ($path_rqllib_conf."/global.inc");  

$path_proj_base = $path_cms_plugins."/krones";  
$path_proj_lib = $path_proj_base."/lib";  
$path_proj_conf = $path_proj_base."/conf";  

?>
Problem:
Wenn ich nun diese ".bat Datei" manuell ausführe, funktioniert der Rest so wie er soll, nur wenn ich die ".bat Datei" über mein CMS ausführe, mit oben genannten Aufruf, bekomme ich im E-Mail Error Log eine Fehlermeldung (Error 255) was das auch immer heißt und herkommt. Der Clou dabei ist, das ganze wurde schon auf einem deutschen Server 2003 getestet, da funktionierts.

Hat da jemand ne Ahnung, an was das liegen könnte?

Gruß moloch500

Content-Key: 91576

Url: https://administrator.de/contentid/91576

Printed on: April 26, 2024 at 11:04 o'clock

Mitglied: 60730
60730 Jul 08, 2008 at 14:33:42 (UTC)
Goto Top
Servus,

wer führt das PHP aus?
Dein System?

Tippfehler hier oder in deiner Batch
"c:\Program Files\RedDot\CMS\ASP\PlugIns\krones\scripts\set_date_calendar\set_date_calendar. bat".
(Leerzeichen zwischen calendar. und bat )
Ist im Pfad sowohl
c:\php als auch c:\Program Files\RedDot\CMS\ASP\PlugIns\krones\scripts
eingetragen?

Wenn ja - änder die Scripte mal so um:
"%ProgramFiles%\RedDot\CMS\ASP\PlugIns\krones\scripts\set_date_calendar\set_date_calendar.bat"
Vielleicht solltest auch alternativ auch die set_date_calendar.bat in set_d_c.bat umbenennen.
(Der dateiname ist ganz schön lange)

Gruß
Member: Kovold
Kovold Jul 08, 2008 at 14:34:01 (UTC)
Goto Top
Welches Datumsformat ist den auf dem Server eingestellt? DD/MM/YYYY oder MM/DD/YYYY?

-.> Kovold