Apache2 führt kein PHP aus

  • Hallo Community,

    mein Apache2 führt keine .php dateien aus.

    Ich einen Test gemacht mit phpinfo() - der Code wurde einfach Klartext angezeigt.


    Wenn ich mit "a2enmod php7.0" probiere mein PHP zu aktivieren, steht da,dass PHP7.0 einen Konflikt mit mpm_event hat. Er empfiehlt mir, mpm_event zu deaktivieren.


    Wenn ich aber mpm_event deaktiviere (a2dismod mpm_event), startet der Apache nicht mehr :wallbash:. Er sagt er können kein MPM laden; obwohl mpm_worker noch immer installiert ist :helpnew:.


    Liebe Grüße und vielen Dank im Vorraus :danke_ATDE:

    Horst-Leopold

  • Wenn der PHP Inhalt angezeigt und nicht als PHP Code ausgeführt wird, kann auch ein Rechtefehler vorliegen.


    Die Zugriffsrechte an der PHP Datei kannst Du in der Listenansicht des Dateibrowsers, oder mit

    < ls -al /Pfad/zur/PHPDatei > anzeigen lassen.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • RTFM: Danke für den Hinweis.


    Das kann ein Problem gewesen sein. Aber der PHP Code wird immer noch blank an gezeigt.


    Was könnten andere Fehlerquellen sein (bzw. wie behebe ich das mit MPM Event und dem PHP Modul)?




    LG

    Horst-Leopold



    P.S.:


    Ich glaube außerdem, dass ich im PHP Script ein paar Fehler gemacht habe.

    Ich schreibe es mal hier hin zur Überprüfung:



    Was das Script tun soll:

    -Verbindung zu MySQL Server herstellen (Verbindungsdaten habe ich entfernt; sind aber korrekt, benutze sie schon woanders)

    -Tabelle "Server", Zeile "Version" lesen

    -Zeile "Version" anzeigen





    PHP7.0

  • mpm-prefork sollte mit mod-php7.0 funktionieren, alternativ deaktiviere mod-php7.0 (es unterstützt sehr wahrscheinlich kein Threading und deshalb funktioniert mpm_worker nicht) und installiere/nutze statt dessen php7.0-fpm.

    Menschen die keine Ironie verstehen finde ich super!

    Edited once, last by llutz ().

  • mpm-prefork sollte mit mod-php7.0 funktionieren, alternativ deaktiviere mod-php7.0

    ok habs geschafft :)


    jetzt ist jedoch mein problem, dass er in den error log folgendes schreibt und fehler 500 auftritt:


    PHP Parse error: syntax error, unexpected ')' in /SERVERROOT

    Edited once, last by Horst-Leopold: doch noch geschafft :-) ().

  • Hast du

    - .php-Files auf Syntaxfehler überprüft?

    - Apache-configs auf Syntaxfehler überprüft?

    Menschen die keine Ironie verstehen finde ich super!

  • Hast du

    - .php-Files auf Syntaxfehler überprüft?

    - Apache-configs auf Syntaxfehler überprüft?

    die .php files habe ich jetzt auf syntax fehler überprüft.


    die apache-configs jedoch nicht, weil ich darin sowieso nichts verändert habe und eh nicht genau weiß was drinsteht:conf:.



    trotzdem tritt jetzt der phpparse error nicht mehr auf. der errorlog ist leer.

    nun kommen wir jedoch wieder zum anfang:


    der code wird als text angezeigt! :denker:


    jetzt ist aber das php7.0 modul offiziell (a2enmod) aktiviert und apache2 startet trotzdem :thumbup:


    was kann da noch fehlen? :helpnew:



    Liebe Grüße

    Horst-Leopold

  • Wird eine Datei check.php mit folgendem Inhalt auch als Text angezeigt?

    PHP
    <?php
     phpinfo();
    ?>

    Was sagen

    apache2ctl -M |grep php

    grep Handler /etc/apache2/mods-enabled/php7.0.conf

    Menschen die keine Ironie verstehen finde ich super!

  • das ist übrigens der text der ausgegeben wird:


    query('SELECT Version from Server') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "
    "; die(); } $dbh = null; ?>


    falls das phpscript falsch ist, ich könnte das ganze pdoexeption usw. rausnehmen,wenn ihr mir helft (bin phpneuling)

  • Wird eine Datei check.php mit folgendem Inhalt auch als Text angezeigt?

    PHP
    <?php
     phpinfo();
    ?>

    Was sagen

    apache2ctl -M |grep php

    grep Handler /etc/apache2/mods-enabled/php7.0.conf

    der erste befehl sagt:


    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

    php7_module (shared)



    wo trägt man denn den "server's fully qualified domain name" ein? (datei, zeile)


    der zweite befehl meint:


    SetHandler application/x-httpd-php

    SetHandler application/x-httpd-php-source




    und: ja phpinfo geht! (*wow*)


    wahrscheinlich ist mein php script falsch. wie macht man dass den ohne pdo exeption und den ganzen kram?


    also mein ziel war ja folgendes:


    -Verbindung zu MySQL Server herstellen (Verbindungsdaten habe ich entfernt; sind aber korrekt, benutze sie schon woanders)

    -Tabelle "Server", Zeile "Version" lesen

    -Zeile "Version" anzeigen




    LG

    Horst-Leopold

  • danke für deine antwort, llutz!


    jetzt habe ich alles neuinstalliert.

    nun habe ich nur den pdo connection string geschrieben - kein fehler! sobald ich jedoch das anzeigen der Version programmiere, steht es wieder auf der website!


    Hast du nicht ein paar PHP Kenntnisse? Ich habe es gerade auf alle mir bekannte Weisen probiert.


    Also eigentlich soll das Script ja nur die Tabelle "Server" auf dem MYSQL Server auswählen und die Zelle "Version" auslesen und anzeigen.



    LG

    Horst-Leopold





    PS:


    Kann ich einfach mit

    Code
    HTMLCODE...
    
    <?
    include 'version.php';
    ?>
    
    ...HTMLCODE

    die Version.php in mein .html Dokument einfügen? Ich habe nämlich vor, dass die Zelle "Version" in der HTML-Datei angezeigt wird




















    ---------------------------------------------------------------------------------------------------------------------------

    Für Interessenten - hier ist meine Frage im neuen Thread:

    Könnt ihr mir ein PHP Script zum Anzeigen einer Zelle (Tabelle in MYSQL) schreiben?

  • Mach' am besten im passenden Forenbereich einen neuen Thread dazu auf und schliesse diesen - Apache/PHP funktioniert. Ich kann dir mit PHP nicht weiterhelfen, sorry.

    Menschen die keine Ironie verstehen finde ich super!