Fehlerhafte Konfiguration oder PHP5

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlerhafte Konfiguration oder PHP5

    Hallo Leute, ich habe ein riessen Problem.
    Mein Provider hat mir einen neuen Server gegeben und PHP5 drauf gespielt und erhalte ich ewig viele Fehlermeldungen von verschiedenen Script die unter PHP4 ohne Probleme liefen.

    Fehler :
    Notice: Undefined variable: ........ ( ich denke das liegt nicht an PHP5 )
    Idee : in der php.ini -> error_reporting = E_ALL & ~E_NOTICE einsetzen.

    Fehler : Warning: filesize() [function.filesize]: .... on line 965
    Code :
    PHP-Code:
    function GetMSGSize($msgid) {
                          
    $filename DataFilename($msgid'msg');
                          return 
    filesize($filename);  // 965
                        

    Fehler : Warning: array_merge() [function.array-merge]: Argument #2 is not an array in .... on line 52
    Code :[php]
    Warning: Invalid argument supplied for foreach() in .... on line 57
    PHP-Code:
    $_POST         $HTTP_POST_VARS;
    $_GET         $HTTP_GET_VARS;
    $_REQUEST     array_merge($_GET$_POST); //52
    $_COOKIE     $HTTP_COOKIE_VARS;
    $_SERVER     $HTTP_SERVER_VARS;

    // SECURITY: emulates register_globals = off
    foreach (array_merge($_GET$_POST$_COOKIE) as $key => $value) {//57
        
    unset($$key);

    Liegt es wirklich an PHP5 oder ist die php.ini nur fehlerhaft eingestellt ?

    Für Hilfe wäre ich dankbar denn mein Provider weis auch nicht mehr weiter.

    Eingestellt :
    safe_mode OFF
    display_errors ON
    register_globals ON
    allow_url_fopen ON
    magic_quotes_gpc ON
    magic_quotes_runtime OFF

    Gruss und Danke

  • #2
    Notice: Undefined variable: ........ ( ich denke das liegt nicht an PHP5 )
    nein. das liegt am fehlerhaften code von dir.

    isset(), empty() usw sollten dir hierbei behilflich sein, die meldungen zu entfernen.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Danke für die Antwort, das ist richtig nur die Scripte sind nicht von mir die sind von Namhaften Scripter wie z.B.

      - B1G-Software / www.b1g.de
      - IDS-Design GbR / www.ids-design.net

      um nur mal zwei zu nennen. Ich weis, dass hier das Problem ist
      das nicht definierten Variable / Array->index abgefragt werden
      und ich weis auch, wie ich dieses beheben kann.

      Jedoch wäre es dann egal ob PHP4 oder PHP5 und nun alle Scripte,
      die ich nicht mal kenne komplett um zu schreiben, denn wenn ich einige
      anpasse ( habe ich schon gemacht mit einer abfrage ob die Variabeln definiert sind und wenn nicht wurde die Zeile nicht ausgegeben ) dann enstehen wieder neue und ich weis auch dass wenn man anständig programmiert hätte wäre die Fehlermeldungen auch nicht vorhanden nur müsste ich warten bis die Firmen die Scripte anpassen und wie schon gesagt auf PHP4 ( anderer Server ) lief es ohne Probleme ) Gibt es für die Probleme nicht ersteinmal eine 'nicht so schöne Lösung' bis entweder ich oder die Programierer das Script angepasst haben ?

      Gruss und Danke

      Kommentar


      • #4
        sicher. einfach mal die php.ini durchgehen .... aber empfehlen kann ich es dir nicht.

        denn wenn du das machst, scherst du dich einen dreck um die sicherheit.

        zum anderen kannst du deinen namenhaften anbietern, die wohl nur du kennst (ich nämlich nicht), sagen, dass die bockmist programmiert haben.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          PHP-Code:
          $filename DataFilename($msgid'msg');
          return 
          filesize($filename); 
          filesize erwartet einen korrekten Dateinamen. Dein Konstrukt aus $msgid und 'msg' ergibt wohl kaum einen gültigen Namen.
          Fehler : Warning: array_merge() [function.array-merge]: Argument #2 is not an array in .... on line 52
          Argument #2 ist das POST-Array --> ggf wurden gar keine Post Daten übergeben.
          Bevor du Werte an Funktionen übergibst, solltest du schauen, ob diese überhaupt existieren. Viele Fkt haben es gar nicht gerne wenn ihnen zu wenige oder ungültige Argumente übergeben werden.
          Wie bereits geschrieben dürften dich isset() und empty() weiterbringen.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar

          Lädt...
          X