PHP-Dateien mit PHP5 statt mit PHP4 verarbeiten

kastnermario

Grünschnabel
Hallo!

Habe seit heute einen super Hoster. Nur gibt es dabei ein Problem. Es sind beide Versionen von PHP vorhanden ( 4 & 5 ). Ich programmiere gerade an einem CMS herum und arbeite immer mit Dateien die mit ".php" enden. Ich verwende sehr oft Funktionalitäten die es erst seit PHP5 gibt und habe daher alle Dateien mit der endung .php. Der Hoster hat seinen Webserver aber so eingestellt das alle .php Dateien mit PHP4 geparsed und alle mit .php5 endende Dateien mit PHP5 geparsed werden.

Ich könnt kotzen! Ich will nicht alle Dateien umbenennen. Ausserdem wird der Independent Faktor noch mehr geschwächt als er ohnehin schon ist durch die Funktionen die ich verwende!

Kennt wer einen Weg das ganze mittels mod_rewrite zu lösen oder einen anderen Lösungsansatz.


Danke euch schon mal im Vorraus!
 
Das funktioniert leider nicht. Die Dateien die mit php enden werden weiterhin mit PHP4 geparsed und nicht wie es sein sollte mit PHP5


HILFE
 
hiho, ein etwas anderes problem, nach dem umstieg von php4 auf 5
werden manche dateien nicht geparsed.
grund dafür sind die
<? -tag´s. <?php funktioniert , was es ja auch sollte.

kann ich irgendwo in der php.ini oder wo anders einstellen, das auch die alten tags benutzt werden dürfen?

gruß raiserle
 
Ja, das kann man einstellen, sollte man aber nicht. Besser ist es die Scripts zu ueberarbeiten und in Zukunft darauf zu achten gleich mit <?php zu arbeiten und nicht mit <?.
Aber falls Du doch unbedingt darauf bestehen solltest (wie gesagt, ich rate Dir absolut davon ab), die Einstellung findest Du unter short_open_tags.

Zusaetzlich moechte ich Dich noch bitten in Zukunft auf Gross- und Kleinschreibung zu achten.
 
Danke, Dennis Wronka.

Nun es ist so, ich selber schreibe ja die <?php-tags , nur ist es so.
Ich habe noch andere Scripte bei mir laufen, wo die Programmierer nicht darauf geachtet haben.
Hab bei eineigen, wichtigen Sachen schon angefangen, alles über suchen-ersetzen auszubessern. Nur ist das mit der Zeit sehr nervenraubend.

Nochmals danke für die schnelle Hilfe.

Gruß raiserle
 
Du koenntest ja ein Script schreiben welches das automatisch uebernimmt. ;)

Aber wie gesagt, es gibt eine Einstellung in der php.ini.
Falls Du mit anderen Leuten zusammenarbeitest dann weise diese am besten auch darauf hin, dass <? nicht mehr zeitgemaess ist (wenn es das je war ;) ) und Script eben je nach PHP-Settings lahmlegen kann.
 
Hallo!

Mit dem suchen/ersetzen musst Du aber vorsichtig sein.
Einfach nur <? durch <?php zu ersetzen kann zu unerwarteten Problemen führen, da es ja auch <?= geben könnte.
Du müsstest also prüfen ob hinter dem <? noch ein = steht.
Wenn nein, dann wird nur durch <?php ersetzt.
Wenn ja dann, dann wird durch <?php echo ersetzt.
Ich weiss nicht ob es einen Editor gibt der dazu "intelligent" genug ist, aber mit einem Script sollte es kein Problem sein (Stichwort: reguläre Ausdrücke).

Gruss Dr Dau

[edit]
Hmm, nochmal nachdenke.
Wenn Du erst alle <? durch <?php ersetzt, dann müsste ja aus <?= <?php= werden.
Dann könntest Du anschliessen nach <?php= suchen und durch <?php echo ersetzen.
Dass sollte eigentlich jeder Editor packen.
Notepad z.b. hat die Funktion "allen ersetzen".
Mit z.b. UltraEdit (kostenpflichtig) könntest Du sogar ganze Verzeichnisse auswählen.
[/edit]

[edit2]
Und nochmal nachdenke. ;)
Du solltest aber zuvor prüfen ob es schon <?php gibt.
Sonst wird beim suchen und ersetzen aus <?php <?phpphp bzw. aus <?php echo <?phpphp echo. :D
Ich glaube ein Script währe wohl doch die bessere Lösung..... vor allem weil Du Dir dann nur einmal Gedanken machen musst.
Beim sucher/ersetzen mit einem Editor hingegen, könnte sich schnell mal irgendwann ein Flüchtigkeitsfehler einschleichen.
Ich würde es sogar auf einem lokalen Webserver machen..... einerseits braucht man sich dann nicht mit dem safe_mode rumärgern (lässt sich ja temporär deaktivieren) und man braucht sich keine Gedanken über den "Owner" machen.
[/edit2]
 
Zuletzt bearbeitet:
Ein guter Editor kann auch mit regulären Ausdrücken suchen und ersetzen und das auch in mehreren Dateien gleichzeitig oder projektweit.
 

Neue Beiträge

Zurück