error_reporting

Dieses Thema im Forum "Server Administration" wurde erstellt von Ruffy, 16. Juli 2012.

  1. Ruffy

    Ruffy New Member

    Hallo,

    Ich ziehe gerade von einem Confixx administrierten Server auf einen ISPConfig(3.0.4.6) -Server um. Nach mehreren Stunden probieren, installieren und suchen, ersuche ich Hilfe.

    Ich bekomme den Fehler:
    Deprecated: Function eregi() is deprecated in /var/www/clients/client5/web5/web/catalog1/inc/xtc_Security.inc.php on line 102

    Das Problem dabei ist:
    /etc/php5/apache2/php.ini hat error_reporting = E_ERROR
    Ich kann das error_reporting setzen, was ich will. Es ändert sich nichts.
    Außer ich setzte display_error = Off, dann sind die Fehler aus.

    phpinfo() sagt mir, daß die Master- und Local-Value gleich sind, sich entsprechend der Einstellung ändern und ich die korrekte php.ini editiere.
    Auch ein erneutes setzen / verschiedenes setzen per .htaccess oder ini_set bringt keine Änderung am Endergebniss.

    Ich bin strikt nach dem Tutorial "The Perfect Server – Debian Squeeze (Debian 6.0) With BIND & Dovecot [ISPConfig 3]" vorgegangen.
    Ein Update von PHP 5.3.3.7 auf 5.3.14 hat ebenso keine Änderung erziehlt.

    Habe meine alte php.ini rüberkopiert, jedoch ebenso ohne Erfolg. (außer, daß die css eingeladen wird und die Fehler nicht mehr in kryptischen Code endet, sondern nach den Fehlern die Seite ausgegeben wird.)
    Daher die Frage: an welchen Stellen könnte ich etwas übersehen haben und wo greift ispconfig ein?

    Vielen Dank für die Hilfe!

    Edit:
    Wenn ich display_error = Off in der php.ini habe und die Werte (siehe unten) in der php-Datei setze (in der phpinfo ändert es die local value korrekt), dann gibt es ebenso keine Fehler aus.
    "ini_set('display_errors','ON');
    ini_set('error_reporting','1');"

    Es muss ja nicht unbedingt global Fehler anzeigen - lokale Fehlerausgabe würde mir reichen ... aber selbst das geht nicht =(
     
    Zuletzt bearbeitet: 16. Juli 2012
  2. Till

    Till Administrator

    Jeder php mode verwendet ja eine andere php.ini Datei, d.h. Du musst die php.ini datei ändern, die zum php mode gehört und danach apache neu starten:

    mod_php: /etc/php5/apache2/php.ini
    cgi, fastcgi und suphp: /etc/php5/cgi/php.ini

    das ist aber bei Ubuntu immer so und nicht ispconfig spezifisch.

    Solltest Du das custom php.ini Feld der Webseite genutzt haben, dann hat diese Webseite jetzt eine eigene php.ini, in dem Fall musst Du die Änderungen im php.ini Feld der Webseite auf dem optionen Reiter durchführen.
     
  3. Ruffy

    Ruffy New Member

    Vielen vielen Dank für die Antwort.

    Leider habe ich den Fehler nicht finden können. Der PHP-Mode war mod_php.
    Eine Umstellung auf fast-cgi und das editieren der /etc/cgi/php.ini hat das gleiche Ergebniss gebracht.

    Danach habe ich eine Custom php.ini erstellt. Selbes Ergebniss:
    Es wird display_error genutzt (also on / off funktioniert), bei error_reporting wird aber immer alles ausgegeben.

    Die phpinfo sagt auch, daß es klappen müsste ... =/

    In der Custom steht ganz unten:
    error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
    display_error = On

    Ich rufe die Seite auf:
    Deprecated: Function eregi() is deprecated in /var/www ...
     
    Zuletzt bearbeitet: 16. Juli 2012
  4. Till

    Till Administrator

    Und Du bist sicher dass in Deinem PHP Script oder einem der von diesem script includierten libraries der error_reporting Level neu gesetzt wird?
     
  5. Ruffy

    Ruffy New Member

    <?
    restore_error_handler();
    error_reporting(1);
    ini_set('display_errors','ON');
    ini_set('error_reporting','1');
    phpinfo() # Fehler
    $blue = 1;
    ?>

    Wenn ich in der php.ini display_errors = Off setze, kommt hier eine weiße Seite.
    Wenn ich es anschalte, wirft er den Fehler.

    Wenn ich eregi() nutze, kommt "Deprecated: Function eregi()"

    Wenn ich nur das mache, dann siehe oben:
    <?
    phpinfo() # Fehler
    $blue = 1;
    ?>

    phpinfo() sagt aber, daß er das local ändert, wenn ich's in der php-file einsetze.
     
    Zuletzt bearbeitet: 16. Juli 2012
  6. Ruffy

    Ruffy New Member

    Habe jetzt den Server (aus anderen Gründen) neu aufgesetzt nach der Anleitung.
    Selber Fehler: error_reporting wird ignoriert und nur E_ALL oder garnix ausgegeben.
     
  7. Le-Seaw

    Le-Seaw Member

    mal kurze frage, sehe ich es richtig das es sich um xtc handelt?
    wenn ja welche version 3.04?
    oder xtc 4?
     
  8. webghost

    webghost New Member

    ich hab da gerade ein änliches Problem. Bei mir werden überhaupt keine Fehler, Warnugen oder sonst was ausgegeben.
    ubuntu mit php fastcgi

    in der /etc/php5/cgi/php.ini steht: error_reporting = E_ALL & ~E_NOTICE
    in ISPConfig unter "Individuelle php.ini Einstellungen" nochmal
    und in der php-datei steht: error_reporting(E_ALL ^ E_NOTICE);

    ich hab zich Einstellungen probiert immer schön apache neugestartet, aber es passiert nichts.

    Wo kann das Problem liegen?

    php_info sagt folgendes:
    display_errors On/off
    display_startup_errors Off/off
    error_append_string no value/no value
    error_log no value no value/
    error_prepend_string no value/no value
    error_reporting 30711/30719
    log_errors On/On
    log_errors_max_len 1024/1024

    edit:
    habe das Problem gefunden unter individuelle php.ini einstellungen noch "display_errors = On" eingefügt :(

    mich würde aber mal interessieren welche php.ini eigentlich greift (abgesehen von ISPConfig), die unter /etc/php5/cgi/php.ini oder die unter /etc/php5/apache2/php.ini ? wozu sind überhaupt 2 da?


    edit:
    doch noch ein Problem - jetzt kann ich das error_reporting über php nicht mehr abstellen

    ini_set('display_errors', 'Off');
    ini_set('error_reporting', 'Off');
    error_reporting(0);

    Fehler werden immernoch angezeigt. in php_info steht jetzt display_errors off/on
     
    Zuletzt bearbeitet: 9. Nov. 2013
  9. planet_fox

    planet_fox Super-Moderator

    Bei mod_php gibt es keine eigene Ini pro web, es wird zentral unter

    Code:
    /etc/php5/apache2/ 
    gelagert und genutzt, bei cgi dass selbe

    Jedoch bei fast-cgi und php5-fpm kann eine eigene verwendet werden und ich denke Standardmässig kopiert des system die datei aus dem Default Ordner in die webconf
     

Diese Seite empfehlen