htaccess AddHandler

  • Guten Tag!


    htaccess Zeilen wie

    Code
    AddHandler application/x-httpd-php73 .php7

    scheinen nicht im webspace zu funktionieren. Gibt es eine Erklärung und/oder workarround dazu?


    Gruß

  • Hay,


    meine persönliche Meinung aus Erfahrung seit PHP3 (als ich im Jahr 2000 damit angefangen habe) ist, dass man solche spezifische Dateiendungen mit eingeschriebener PHP-Version vermeiden sollte. Am Anfang habe ich schön die Dateien .php3 genannt, dann beim Wechsel auf PHP4 .php4 und musste alle Quellcodes von .php3 auf .php4 "refactoren". Bzw. in der .htaccess den Handler für .php3 - Dateien auf PHP4 gestellt. Wirklich hilfreich war das nicht, damals schnell die Übersicht verloren...


    ... insbesondere ...


    ... bei PHP5 ist mir dann der Kragen geplatzt und seitdem heißt alles nur noch .php und


    a) ich muss einfach nur meine .php Dateien auf das neue Reglemenent der aktuellen PHP Version anpassen und nicht jedem include / require / fileopen usw. nachgehen (abgesehen von den Webseiten-Links). Und nur um es anzumerken: rewrite-Rules helfen da auch nicht viel weiter.

    b) außerdem hilft (zwingt) es einen, bei seinem Code aktuell zu bleiben.

    c) keinen Trouble mehr mit der Auffindbarkeit in Suchmaschinen und vor allem externen Links auf meine Scripte, nur weil es eine neue PHP Version gibt.


    Ich habe noch so ein Problemkind, dass ich bei jeder Apache-Version neu lösen muss... ein altes Perlscript, welches topp in jeder Suchmaschine gefunden wird und ich will nicht, dass das abbricht, deswegen muss ich da jedesmal mit mod_rewrite rummurksen, weil sich beim Apache der Standard bezüglich handling und Ordnerstruktur fürs cgi-bin geändert hat und öfers mal gerne nochmal ändert.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Wenn ich den code selbst entwickeln würde, könnte ich mir das überlegen.

    Mich stört mehr, dass die Datei mit php 5.6 statt mit php 7.3 ausgeführt wird...

  • Hay,

    Mich stört mehr, dass die Datei mit php 5.6 statt mit php 7.3 ausgeführt wird...

    jupp - dann die Einstellung im WCP (PHP-Einstellungen) ändern:


    pasted-from-clipboard.png


    pasted-from-clipboard.png


    Zwischen 7.2 und 7.3 hat sich einiges geändert. Sollte "die Datei" mit 7.3 nicht laufen, einfach mal die Version etwas runterdrehen.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Ich kann nicht in allen Unterordnern die gleiche php-Version voraussetzen. Dazu ist das Projekt einfach zu groß (und hat zuuuu viel legacy Teile).


    Was spricht gegen die htaccess?

  • Ich kann nicht in allen Unterordnern die gleiche php-Version voraussetzen. Dazu ist das Projekt einfach zu groß (und hat zuuuu viel legacy Teile).

    Über kurz oder lang bringst du dich so in eine Situation wo du nicht mehr rauskommst, dann lieber jetzt mit etwas schmerzen, den alten kram Refactoren und/oder neuschreiben/wegwerfen. Kein Projekt ist zu groß für sowas, ich habe da wirklich schon große Projekte gesehen wo das erstaunlich gut sogar klappte.

  • Hay,

    Was spricht gegen die htaccess?

    (außer meiner persönlichen Meinung von oben) an und für nichts - aber haben alle Teile des Projekts die Dateiendung .php7? Und funktioniert das Projekt noch, wenn Du die Dateiendungen von .php auf .php7 änderst?


    Wenn ja, musst Du aber ggf. eine ANDERE Handlerdefinition einbinden, weil Du fastcgi oder fpm hast (habe mal gehört, die Version mit xhttp-... ist auf mod_php beschränkt - kann aber auch falsch sein...), etwas in der Art von


    Code
    AddHandler fcgid73-script .php

    Aber da bin ich mit den Details leider überfragt, da von mir so aus o.g. Gründen nicht benutzt & keine Erfahrung. Entweder ist jemand da schlauer oder halt crowd-knowledge über google... ich kann Dir an der Stelle noch nicht einmal Deine Eingangsfrage sicher beantworten, ob ein Handler im Hosting überhaupt eingebunden werden kann. Ich hatte schon Schwierigkeiten, einen eigenen Handler generell über die Apache-Einstellungen im großen Plesk auf meinem root-Server reinzubringen.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Über kurz oder lang bringst du dich so in eine Situation wo du nicht mehr rauskommst, dann lieber jetzt mit etwas schmerzen, den alten kram Refactoren und/oder neuschreiben/wegwerfen. Kein Projekt ist zu groß für sowas, ich habe da wirklich schon große Projekte gesehen wo das erstaunlich gut sogar klappte.

    Von "etwas Schmerzen" kann man bei einer halben Million php files kaum noch sprechen. Legacy code tut nur weh, wenn man oft an ihn dran muss. Es gibt Dinge, die einfach genauso funktionieren, wie sie sind und die niemand jemand jemals anfasst. In diesen Fällen wäre refactoren sehr aufwendig und wenig lukrativ. Man muss nur die Teile überarbeiten an denen man auch regelmäßig arbeitet. Ich bewege seit vielen Jahren professionell legacy code. Glücklicher Weise handelt es sich zumeist nicht um php.


    Ich habe jetzt erst gesehen, dass es kein php_mod ist.

    Wenn ja, musst Du aber ggf. eine ANDERE Handlerdefinition einbinden, weil Du fastcgi oder fpm hast (habe mal gehört, die Version mit xhttp-... ist auf mod_php beschränkt - kann aber auch falsch sein...), etwas in der Art von


    Code
    AddHandler fcgid73-script .php

    Aber da bin ich mit den Details leider überfragt, da von mir so aus o.g. Gründen nicht benutzt & keine Erfahrung. Entweder ist jemand da schlauer oder halt crowd-knowledge über google... ich kann Dir an der Stelle noch nicht einmal Deine Eingangsfrage sicher beantworten, ob ein Handler im Hosting überhaupt eingebunden werden kann. Ich hatte schon Schwierigkeiten, einen eigenen Handler generell über die Apache-Einstellungen im großen Plesk auf meinem root-Server reinzubringen.

    Das war lediglich ein Beispiel zum Test. Ich habe im live-Projekt natürlich keine Dateien, die php7 heißen.

    Ich habe jetzt erst gesehen, dass es kein php_mod ist - dann kann das selbstverständlich nicht funktionieren. Danke für den Hinweis! Dein fcgi snippet scheint leider auch nicht zu funktionieren. Schade, dass man das nicht auf php_mod umstellen kann...das ist zwar nicht toll, aber man kennt es wenigstens nach all den Jahren die Nebenwirkungen.


    Gruß