Ankündigung

Einklappen
Keine Ankündigung bisher.

Code oder Serverproblem

Einklappen

Neue Werbung 2019

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

  • Code oder Serverproblem

    Hallo Freunde,
    ich habe eine einfache Datenerfassung über ein Onlineformular in PHP erstellt.
    Die Datenbank, Formulare für die Eingabe der Daten und die gesamte Umgebung läuft hervorragend.
    Im letzten Schritt habe ich eine Klasse mit deren Hilfe ich mein Datenbestand in Excel.xls ausgeben möchte. (Klasse bekannt als: PHPExcel)
    Und hier liegt mein Problem:
    Auf dem localhost läuft der PHP-Code fehlerfrei, eine *.xls wird wie erwartet generiert und ausgegeben, doch auf dem Webserver wird die Ausgabe der Seite gleich am Anfang des Codes bei Aufruf von: require_once 'Classes/PHPExcel.php' ; unterbrochen und mit einer leeren, weißen Seite quittiert.
    Bzw. je nach Fall der erste Aufruf der Seite ist erfolgreich, bei den nächsten Aufrufen folgt nur eine leere Seite im Browser.
    Doch aber wird im PHP-Code die Zeile: require_once 'Classes/PHPExcel.php' ; auskommentiert, erstaunlicher Weise wird der erste Aufruf manchmal ausgeführt, auf die folgenden Versuche folgt dann aber immer eine leere Seite. Wie gesagt; auf dem localhost läuft alles anstandslos!
    Gebe es einen Fehler in der Klasse, würde localhost (xxamp) auch streiken, doch dieser funktioniert hier fabelhaft.

    Im Voraus lieben Dank für eure Mühe

    LG. Robert


  • #2
    bei den nächsten Aufrufen folgt nur eine leere Seite im Browser.
    Und mal ins Fehlerlog geschaut?

    Was ich weiß ist PHPExcel "tot" -> https://github.com/PHPOffice/PHPExce.../1.8/README.md

    Und es gibt da einen Nachfolger PHP Spreadsheet.
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Schaue ins errorlog von php auf dem Server, was steht dort als Fehlermeldung?

      Kommentar


      • #4
        Zitat von protestix Beitrag anzeigen
        Schaue ins errorlog von php auf dem Server, was steht dort als Fehlermeldung?
        AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Class 'PHPExcel' not found in /var/www/vhosts/xxx.org/httpdocs/kfvfs/resource/abegehungphp.php:1752\nStack trace:\n#0 /var/www/vhosts/xxx.org/httpdocs/kfvfs/resource/abegehungphp.php(45): fexport()\n#1 /var/www/vhosts/xxx.org/httpdocs/kfvfs/abegehung.php(4): include('/var/www/vhosts...')\n#2 {main}\n thrown in /var/www/vhosts/xxx.org/httpdocs/kfvfs/resource/abegehungphp.php on line 1752\n', referer: http://xxx.org/kfvfs/abegehung.php

        Wie gesagt, die Class kann nciht gefunden werden doch auf dem localhost wird sie geladen und die Anwendung läuft.
        Macht es ggf. Sinn alle Pfade und Namen in Kleinbuchstaben umzuschreiben?
        Es ist eine Fangstatistik für meinen Angelverein. Die Anwendung habe ich vor zwei Jahren geschrieben, aktuell nur um die PHPExcel erweitert (bzw. erweitern wollen)

        Kommentar


        • #5
          Zitat von RobertRW Beitrag anzeigen
          Macht es ggf. Sinn alle Pfade und Namen in Kleinbuchstaben umzuschreiben?
          Die Pfade sollten richtig geschrieben werden. Wir kennen die Pfade auf deinem Server nicht, das solltest du schon selber wissen, wie sie lauten.

          Kommentar


          • #6
            Zitat von RobertRW Beitrag anzeigen
            Macht es ggf. Sinn alle Pfade und Namen in Kleinbuchstaben umzuschreiben?
            Du musst beim Laden der Dateien die Groß- und Kleinschreibung der Dateinamen beachten - bei dir lokal ist das egal da du vermutlich Windows benutzt, dem Server unter Linux ist das nicht egal, da kommt es auf die genaue Schreibweise an.

            Kommentar


            • #7
              Zitat von hellbringer Beitrag anzeigen

              Die Pfade sollten richtig geschrieben werden. Wir kennen die Pfade auf deinem Server nicht, das solltest du schon selber wissen, wie sie lauten.
              Die Pfade sind schon in meinen *.php richtig angegeben (klein + groß Buchstaben).
              Ich habe nur überlegt ob der Webserver damit irgendwie Problem haben kann und der Aufwand alle Pfade in Kleinbuchstaben umzuschreiben sich mal lohnt denn sonst kann ich keine signifikante Fehlerquelle erkennen.

              Kommentar


              • #8
                Zitat von RobertRW Beitrag anzeigen
                Ich habe nur überlegt ob der Webserver damit irgendwie Problem haben kann und der Aufwand alle Pfade in Kleinbuchstaben umzuschreiben sich mal lohnt denn sonst kann ich keine signifikante Fehlerquelle erkennen.
                Nein, ob du Groß- oder Kleinbuchstaben in Datei- oder Verzeichnisnamen verwendest, ist egal. Wichtig ist nur, dass sie in den Pfadangaben gleich sind.

                Kommentar


                • #9
                  Unter Linux ist haus nicht Haus und nicht HAUS, unter Windows schon.
                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Zitat von RobertRW Beitrag anzeigen
                    Wie gesagt, die Class kann nciht gefunden werden doch auf dem localhost wird sie geladen und die Anwendung läuft.
                    Macht es ggf. Sinn alle Pfade und Namen in Kleinbuchstaben umzuschreiben?
                    Es ist eine Fangstatistik für meinen Angelverein. Die Anwendung habe ich vor zwei Jahren geschrieben, aktuell nur um die PHPExcel erweitert (bzw. erweitern wollen)
                    hast Du das auch installiert auf dem server, oder nur local.
                    nein nur kleinbuchstaben machwen keinen sinn s.o.

                    Kommentar


                    • #11
                      Zitat von tomBuilder Beitrag anzeigen

                      hast Du das auch installiert auf dem server, oder nur local.
                      Ich habe die Anwendung vorletztes Jahr auf den Webserver übertragen und unsere Angler haben letztes Jahr ihre Begehungen online erfasst.
                      Für dieses Jahr habe ich die Anwendung um den Excel-Export erweitern wollen. Lokal auf dem localhost funktioniert der Download der Daten nur auf dem Webserver bekomme ich beim Aufruf der Seite eine leere Seite im Browser.
                      Irgendwie schaut das alles nach einem Überlagerungsproblem aus, denn nach dem Hochladen der Module sind anfangs einige Aufrufe möglich, der Fehler ist nach dem ersten Upload erst am nächsten Tag aufgetreten.
                      Und genauso ist es wenn ich die require auf dem Webserver auskommentiere, dann wird die Seite einmalig geladen und die Excelausgabe wird auch erzeugt - ohne den Verweis auf die Klasse: require_once 'Classes/PHPExcel.php'
                      Ich vermute, dass irgendwelche Bestandteile der Module irgendwo im Cache hängen bleiben, wie könnte man das Phänomen sonst noch erklären?

                      Kommentar


                      • #12
                        Bei include solltest immer mit absoluten Pfaden arbeiten. Ich denke da rührt das Problem her. Dann macht es auch Sinn das es local geht und auf dem Server nicht.


                        Kommentar


                        • #13
                          Ja, hausl hat Recht, es liegt an PHPExcel bzw. die PHPExcel ist mit PHP7 nicht kombatibel.
                          Hat jemand eine Idee wie man eine SQL bzw Tabelle als *.xls am einfachsten ausgeben kann? (Daten aus MariaDB via Onlineformular als Exceltabelle downloaden kann)

                          Kommentar


                          • #14
                            Wenn es nur eine reine Tabelle ist, reicht meistens ja schon eine CSV Datei welche man dann in Excel öffnen kann.

                            Kommentar


                            • #15
                              Zitat von RobertRW Beitrag anzeigen
                              Ja, hausl hat Recht, es liegt an PHPExcel bzw. die PHPExcel ist mit PHP7 nicht kombatibel.
                              Hat jemand eine Idee wie man eine SQL bzw Tabelle als *.xls am einfachsten ausgeben kann? (Daten aus MariaDB via Onlineformular als Exceltabelle downloaden kann)
                              lies dir doch bitte noichmals #2 durch

                              Kommentar

                              Lädt...
                              X