Wissensdatenbank: Webhosting > PHP / CGI
Wie kann ich *.htm Files mit dem PHP-Interpreter abarbeiten?
Gepostet von Support it factory ag, Letzte Änderung durch Daniel Jörg an 06 November 2014 11:38 AM

Das Sicherheitskonzept des Servers verhindert die Ausführung von Scripten im mod_php Modus. Daher funktionieren traditionelle Apache Anweisungen zum Ausführen von beliebigen Scripten als PHP nicht mehr. Betroffen davon sind z.b. ForceType und AddType Anweisungen in .htaccess Dateien.

Mögliche Fehlermeldungen sind z.B.:

099 Sie haben versucht ein Script zustarten, welches nicht als CGI Script laufen sollte. Dies ist auf diesem Server NICHT mehr möglich!
Wenden Sie sich an den Serveradministrator!

 

Mit folgender Anleitungen können Sie Ihre Scripte dennoch als PHP ausführen.

Beachten Sie bitte, dass dazu eine Datei auch eine Endung wie z.b. .htm haben muss. Dateien ohne Endung können auf diesem Wege nicht als PHP laufen.

   1.  Ändern Sie *ALLE* ".htaccess" Dateien innerhalb Ihrer Webseite:

      Entfernen Sie die AddType Anweisung wie folgt:

      #AddType application/x-httpd-php .htm

      fügen Sie hinzu:

      AddHandler php-script .htm
      Action php-script /cgi-sys/cgiwrap


   2. Ändern Sie *ALLE* .htm Dateien, indem Sie eine Startzeile
      am Anfang der jeweiligen Datei einfügen: "#!/usr/bin/php"

      Beispiel:

      #!/usr/bin/php

      <HTML>
      <BODY>
      <?php
      print "INHALT per PHP<PRE>";
      system("id");
      print "</PRE>";
      ?>
      </BODY>
      </HTML>


   3. Ändern die Dateirechte *ALLER* .htm Dateien :

      z.b. chmod +x *.htm


   4. Wenn Sie nun obiges Beispiel ausführen würden, würde
      die Ausgabe im Browser wie folgt sein:

      INHALT per PHP

      uid=12345(username) gid=12345(usergruppe) groups=12345(usergruppe)

      Steht dort nun Ihr Benutzername auf dem Server und Ihre Gruppe,
      hat es funktioniert. Alle .htm Dateien, die auch in diesem
      Verzeichnis oder einem Unterverzeichnis dieses Verzeichnisses sind,
      werden dann korrekt ausführt, OHNE das Sie MOD_PHP benötigen würden.

      Dies gilt sinngemäss auch für alle anderen Dateiendungen.


Kommentare (0)