Apache2 führt kein PHP aus

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (7. August 2018 um 16:32)

  • 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

    Einmal editiert, zuletzt von Horst-Leopold (7. August 2018 um 20:38) aus folgendem Grund: doch noch geschafft :-)

  • 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

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • 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?

    2 Mal editiert, zuletzt von Horst-Leopold (8. August 2018 um 15:23) aus folgendem Grund: Link.Add()

  • 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.

    Wenn du nichts zu sagen hast, sag einfach nichts.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!