Apache2.2 - Keine Fehlerausgabe

  • Hallöchen

    Hab da so meine Probleme im Bereich Webserver mit Apache und PHP.
    Habe nach Anleitung von Ubuntu.com den Webserver meiner Meinung nach richtig aufgesetzt.

    Apache2.2, MySQL-5.1 und PHP5 sind installiert.
    Wenn ich jetzt localhost aufrufen, dann kommt zwar schon das Listing mit den vielen Files, doch bei einigen PHP Dateien kommt einfach nur eine weisse seite ohne Code.
    Habe mal testweise versucht extra eine fehlerhafte Seite zu uppen mit folgendem Code:

    PHP
    <?php
    
    
        error_reporting("E_ALL");    
    
        $a = 2
        $b = 3;
    
        echo $a+$b;
    ?>

    Das sollte doch eigentlich einen Fehler ergeben, doch leider auch nur eine weisse Seite.
    Woran könnte das liegen, das ist sehr sehr nervig.

    Auf Xampp kann ich nicht zurückgreifen, da das Problem mit mod_rewrite immer noch besteht, siehe:
    https://www.forum-hilfe.de/showthread.php?t=47238

  • Das sieht wie eine falsche Konfiguration aus. Hast du mal nachgesehen, wie der Quellcode, den der browser bekommt, aussieht?

  • In so einem Fall bekommt der Browser gar keinen Quelltext. Eigentlich sollte das PHP-Script mit einem Fatal error rausfliegen, allerdings passiert das aufgrund der Serverkonfiguration nicht. error_reporting wird dabei ignoriert, weil der Server gar nicht dazu kommt, diese Zeile zu interpretieren.
    Die letzten zwei Kommentare hier geben Tipps, wie man das umgeht.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Danke Afrael

    Hab das hier hinzugefügt in /etc/apache2/httpd.conf

    Zitat

    php_value display_errors 1
    php_value display_startup_errors 1

    Jetzt wird der Code angezeigt und es funktioniert.
    Nun habe ich aber ein anderes zusätzliches Problem, welches auch schon vorher war.

    Wenn ich ein Verzeichnis eingebe und es die index.php Datei laden soll, kommt einfach ein Downloadfenster und ich könnte die Datei mit dem Typ PHTML herunterladen.
    Bei diesen Fehlern handelt es sich um PHP Dateien, welche irgendetwas mit MySQL zu tun haben.

    Wie kann ich diesen Fehler noch beseitigen?

    ps@bandit: Es gab mir überhaupt keinen Quellcode an, nur weiss ohne Text.

  • Zitat


    Troubleshooting PHP 5
    Does your browser ask if you want to download the php file instead of displaying it? If Apache is not actually parsing the php after you restarted it, install libapache2-mod-php5. It is installed when you install the php5 package, but may have been removed inadvertently by packages which need to run a different version of php.

    You may also need to actually enable it, by doing sudo a2enmod php5 followed by sudo /etc/init.d/apache2 restart. If sudo a2enmod php5 returns "$ This module does not exist!", you should purge (not just remove) the libapache2-mod-php5 package and reinstall it.

    Be sure to clear your browser's cache before testing your site again.

    https://help.ubuntu.com/community/ApacheMySQLPHP#Troubleshooting PHP 5
    ;)


  • Zitat

    wolf@woulfnote ~ $ sudo a2enmod php5
    [sudo] password for wolf:
    Module php5 already enabled

    ;) Daran hatte ich schon gedacht, das ist ja auch nicht wirklich das Problem.
    Ansonsten würden alle PHP Dateien nicht gehen.
    Es gehen aber nur die nicht, welche eine Connection zu MySQL aufbauen wollen.

  • Die Erweiterung ist natürlich .php ;)

    Ich habe aber die Ursache des Problems gefunden. Die Packages von mysql-server und phpmyadmin habe ich einfach erneut installiert und es neu konfiguriert. Danach ging alles wie gewünscht.

    Doch nun hat sich ein weiteres Problem ergeben. Leider funktioniert das Modul mod_rewrite auch nicht mit Apache2.2 nicht wie gewünscht.
    Am besten erkläre ich kurz, wie das auf meinem lokalen Server aussieht:

    Ich habe die Pakete von apache2.2, mysql-server und phpmyadmin sowie PHP und MySQL in Apache integriert und aktiviert. Auch das Modul "rewrite" habe ich mit dem Befehl "sudo a2enmod rewrite" aktiviert und es kam die Meldung, es sei bereits aktiviert.
    Zum Ordner /var/www habe ich ein SymLink nach /home/***user***/Progging/Webdesign/www. Die Zugriffe funktionieren ohne Probleme.
    Die besagte .htaccess Datei liegt in /home/***user***/Progging/Webdesign/www/web187/public/http://white-tiger.ch/beta und die URL lautet http://localhost/web187/public/white-tiger.ch/beta/
    Die Seite wird angezeigt aber mit der modifizierten URL http://localhost/web187/public/white-tiger.ch/beta/person.wt wird nur ein Error 404 ausgegeben.
    Mit der URL http://localhost/web187/public/…eta/?src=person funktionierts aber ohne Probleme.

    Woran kann das liegen?
    Ich habe schon stundenlang nach Lösungen gegooglet und auch einige Dinge ausprobiert, wie RewriteBase oder Options in der .htaccess.
    Es funktioniert einfach nicht x_X
    Habe auch schon versucht die .htaccess und die besagten Dateien im Root Verzeichnis zu haben, aber ebenfalls fehlgeschlagen.