[PHP] Smarty Fehler

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Blackb!rd, 14. August 2012 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 14. August 2012
    Smarty Fehler

    Hallo Zusammen,

    ich arbeite gerade an einem Projekt, bei dem ich immer wieder einen Smarty-Fehler erhalte. Der Fehler tritt auf, wenn von Smarty ein neues Template erzeugt wird:
    Code:
    PHP warning in N:\PATH\smarty\sysplugins\smarty_resource.php (723): filemtime() [function.filemtime]: stat failed for N:\PATH/tmp\64fd722013d5075d4ce9d91263ca81582ab8b4ba.file.index.tpl.php
    
    Allerdings tritt der Fehler NUR auf, wenn ich meinen eigenen Error-Handler aktiviert habe. Andernfalls kommt auch bei error_reporting(E_ALL) keine einzige Meldung und alles funktioniert wie gewohnt!

    Mein Error-Handler ist eine simple Brücke zu meinerm Exception Handler:
    PHP:
    public static final function  ErrorHandler $nr $message $file $line  )
        {
            switch ( 
    $nr  )
            {
                case 
    2 $type  'warning' ;
                    break;
                case 
    8 $type  'notice' ;
                    break;
                default: 
    $type  'error' ;
                    break;
            }

            throw new 
    OwnException 'PHP '  $type  ' in '  $file  ' ('  $line  '): '  $message $nr  );
        }

    Hat jemand ne Ahnung was ich hier falsch mache, ich nehme an ich stehe einfach nur iwo aufm Schlauch

    Grüße Blackb!rd
     
  2. 14. August 2012
    AW: Smarty Fehler

    hast du mal den cache geleert, damit alles neu erstellt werden kann.
     
    1 Person gefällt das.
  3. 14. August 2012
    AW: Smarty Fehler

    Hey,

    ja habe alle Compiles gelöscht und hab es neuerstellen lassen. Mit aktivieretem Error-Handler von mir kam die Fehlermeldung und es wurde nichts erstellt. Sobald ich meinen Error-Handler auskommentiert habe, wurden die Templates erstellt und alles funktioniert! Wenn die Compiles exsitieren funktioniert die Seite auch mit meinem Error-Handler!


    Gruß Blackb!rd
     
  4. 14. August 2012
    AW: Smarty Fehler

    in N:\PATH\smarty\sysplugins\smarty_resource.php ein file_exists() einbauen is keine option?

    naja, wie dem auch sei: ein eigener error-handler verarbeitet erstmal ALLE arten von fehlern, egal was du bei error_reporting() angegeben hast.

    um die funktion anzugleichen musst du innerhalb des handlers selber prüfen ob der fehler geworfen werden soll oder nicht.

    beispiel:
    PHP:
    <? php

    $er 
    error_reporting ();

    if ((
    $er  $nr ) ===  0 )
      return 
    true // nichts weiter machen!

    switch ( $nr ) {
      case 
    2
        
    $type  'warning' ;
        break;
      
      case 
    8
        
    $type  'notice' ;
        break;
      
      default: 
        
    $type  'error' ;
        break;


    return 
    true ;
     
    1 Person gefällt das.
  5. 14. August 2012
    AW: Smarty Fehler

    Nein - Ich arbeite ungern am fertigen Systemen zumal Smarty sowas eig selbst einbauen müsste...

    Das ist schon richtig, aber warum gibt er mir wenn ich meinen Error-Handler aktiviere einen Error mit Code 2 - Warning, wenn ich ihn aber nicht aktiviert habe und error_reporting(E_ALL) aktiviere nicht mal irgendeine Meldung? Denn wenn Error-Reporting(E_ALL) aktiviert ist und ein Warning-Fehler auftritt müsste eigentlich der Fehler angezeigt werden!


    Gruß Blackb!rd
     
  6. 14. August 2012
    AW: Smarty Fehler

    display_errors aus oder E_ALL zu spät gesetzt?
    welche php-version läuft bei dir?
     
  7. 14. August 2012
    Zuletzt bearbeitet: 14. August 2012
    AW: Smarty Fehler

    PHP-Version: 5.3.1 auf einem Windows Rechner via XAMPP

    Display Errors ist aktiviert und E_ALL ist die erste Zeile des Scripts! Habe auch kurz dannach mit einem "echo $bla" einen Fehler provoziert der mir auch korrekt angezeigt wurde!

    Das ist irgendwie alles sehr unlogisch ?(

    Gruß Blackb!rd

    EDIT: Ich merkt grad das die Version doch älter ist als ich dachte - Werde mal updaten und dann probiern was passiert!
     
  8. 15. August 2012
    AW: Smarty Fehler

    Ein Update auf die aktuellsten Versionen hat nichts gebracht. Es läuft nun die aktuelle XAMPP-Version mit PHP 5.4.4 und das Problem ist noch vorhanden!

    Gruß Blackb!rd
     
  9. 15. August 2012
    Zuletzt bearbeitet: 15. August 2012
    AW: Smarty Fehler

    smarty setzt ein eigenes error-reporting und überschreibt deinen wert ganz einfach
    und wie oben bereits erwähnt ignoriert ein eigener error-handler solche einstellungen, weshalb dir die warnung (die smarty unterdrückt) wieder aufgezeigt wird.

    Smarty :: View topic - Error Reporting Level
     
    1 Person gefällt das.
  10. 15. August 2012
    AW: Smarty Fehler

    Okay das erklärt natürlich einiges - Somit hätten wir mal das durcheinander behoben.

    Vielen Dank für die Hilfe!


    Gruß Blackb!rd
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.