Jump to content
xt:Commerce Community Forum
Sign in to follow this  
JoeWied

Smarty Schreibprobleme templates_c

Recommended Posts

Bitte reiss mich keiner auseinander... :D

Windows 2003, IIS, php 5.2.3, MySQl 5, Smarty_2.6.18

Wenn ich den templates_c ordner mit dem compilaten lösche und meine Seite aufrufe kommen Fehlermeldungen wie folgt:

Warning: Smarty::include(templates_c\%%8C^8C3^8C3763E4%%index.html.php) [function.Smarty-include]: failed to open stream: No such file or directory in C:\best-trade.ch\includes\classes\Smarty_2.6.18\Smarty.class.php on line 1265

Das passiert, wenn ich den Server über ISAPI laufen lasse. Wenn ich den Server über CGI laufen lasse, dann kommt dieses Problem nicht und alle Compilate werden sofort erzeugt.

Nun zurück über ISAPI. Wenn ich die Seite mehrmals hintereinander refreshe, dann tropfen die Temp_Compilate langsam herein und die Fehler verschinden mit der Zeit.

Jetzt war ich so frech, und habe zum Debuggen des Problemes das core_write_file mit einigen Print-Befehlen erweitert. Und zwar wie folgt:

print "Fertig1";

if ($params['create_dirs']) {

$_params = array('dir' => $_dirname);

require_once(SMARTY_CORE_DIR . 'core.create_dir_structure.php');

smarty_core_create_dir_structure($_params, $smarty);

}

print "Fertig2";

// write to tmp file, then rename it to avoid file locking race condition

$_tmp_file = tempnam($_dirname, 'wrt');

if (!($fd = @fopen($_tmp_file, 'wb'))) {

$_tmp_file = $_dirname . DIRECTORY_SEPARATOR . uniqid('wrt');

if (!($fd = @fopen($_tmp_file, 'wb'))) {

$smarty->trigger_error("problem writing temporary file '$_tmp_file'");

return false;

}

}

print "Fertig3";

// fwrite($fd, $params['contents']);

if (!fwrite($fd, $params['contents'])) {

print "Kann in die Datei $filename nicht schreiben";

exit;

}

print "Fertig4";

Das Resulat auf meiner Seite war dann:

Fertig1Fertig2Fertig3Fertig4

Warning: Smarty::include(templates_c\%%8C^8C3^8C3763E4%%index.html.php) [function.Smarty-include]: failed to open stream: No such file or directory in C:\best-trade.ch\includes\classes\Smarty_2.6.18\Smarty.class.php on line 1265

Warning: Smarty::include(templates_c\%%8C^8C3^8C3763E4%%index.html.php) [function.Smarty-include]: failed to open stream: No such file or directory in C:\best-trade.ch\includes\classes\Smarty_2.6.18\Smarty.class.php on line 1265

Warning: Smarty::include() [function.include]: Failed opening 'templates_c\%%8C^8C3^8C3763E4%%index.html.php' for inclusion (include_path='.;c:\programm\php\includes;c:\best-trade.ch\inc;C:\best-trade.ch\includes\classes\Smarty_2.6.18') in C:\best-trade.ch\includes\classes\Smarty_2.6.18\Smarty.class.php on line 1265

OBWOHL die Printbefehle ergeben, dass eigentlich fehlerfrei hätte erstellt und geschrieben hätte sollen, taucht im template_c überhaupt nichts auf.

Wie gesagt, bei CGI-Ablauf funktionierts Hat jemand eine Ahnung, weshalb sich das so verhält ? :confused:

Zum testen habe ich ein simples Testprogramm geschrieben, das 1000 Files mit je 100 verschiedenen Records schreibt und das funktioniert sowohl mit CGI und ISAPI. Warum funktioniert das im Shop so unzuverlässig ?

Sorry, für den langen Thread, and to bother you with Windox :eek:

Share this post


Link to post
Share on other sites

Ich habe absolut das gleiche problematik!

Nirgendwo was gefunden...

XTC support (vor der Kauf!) hat gesagt, funzt 100% inter IIS!

Ich würde gerne die beste konfiguration von XTC-Developers für IIS bekommen. Am besten mit Kommentare!

Danke!

Share this post


Link to post
Share on other sites

Ich habe absolut das gleiche problematik!

Nirgendwo was gefunden...

XTC support (vor der Kauf!) hat gesagt, funzt 100% inter IIS!

Ich würde gerne die beste konfiguration von XTC-Developers für IIS bekommen. Am besten mit Kommentare!

Danke!

Doch ich hab's rausgefunden, hat mich zwar tierisch viel Zeit gekostet, bin

halt kein XTC-Developer, aber dafür kriegste eine Antwort :-)

Meine Konfig:

Windows 2003 Server mit IIS7 und ISAPI, PHP5.2.3 + Smarty ab 2.6.10

Smarty hat einen Fehler und kuckt nicht sauber auf die Tmp-Verzeichnis

in PHP.ini.

Lösung des Problems: Gib dem Internet-Userkonto VOLLE Zugriffsberechtigung

für die OS-Temps (c:\temp c:\windows\temp) und schon schnackelts.

Ist etwas unschön einem Internet-User darauf Vollzugriff zu geben (Datenschutz und so), aber so vital dürften diese Temp-Verzeichnisse nicht sein. Viel Glück

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...