# PHP-Dateien mit PHP5 statt mit PHP4 verarbeiten



## kastnermario (24. Januar 2007)

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!


----------



## daddz (24. Januar 2007)

Schreib einfach das hier in eine _.htaccess_-Datei:

```
AddType x-mapp-php5 .php
```

greetz
daddz


----------



## kastnermario (24. Januar 2007)

Das funktioniert leider nicht. Die Dateien die mit php enden werden weiterhin mit PHP4 geparsed und nicht wie es sein sollte mit PHP5


HILFE


----------



## Gumbo (24. Januar 2007)

Wende dich mal an deinen Anbieter. Der wird dir da am ehesten weiterhelfen können.


----------



## raiserle (1. Februar 2007)

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


----------



## Dennis Wronka (1. Februar 2007)

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.


----------



## raiserle (1. Februar 2007)

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


----------



## Dennis Wronka (1. Februar 2007)

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.


----------



## Dr Dau (1. Februar 2007)

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*. 
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]


----------



## Gumbo (1. Februar 2007)

Ein guter Editor kann auch mit regulären Ausdrücken suchen und ersetzen und das auch in mehreren Dateien gleichzeitig oder projektweit.


----------

