2010-10-25 8 views
9

Potrzebuję obsługiwać starsze kody na serwerze, na którym muszę być na bieżąco w najnowszej stabilnej wersji PHP. Nie mogę ewentualnie aktualizować bazy kodu przy każdej aktualizacji, więc zastanawiam się, czy istnieje sposób na uruchomienie tej konkretnej witryny ze starszą wersją PHP niż ta zainstalowana.Czy istnieje sposób na wykonanie PHP jako starszej wersji niż ta zainstalowana?

Przykład: Używam PHP 5.3.3 i mój kod dla starej witryny jest uszkodzony. To działało idealnie na 5.2.x. Czy mogę po prostu umieścić komendę na górze skryptu (-ów), aby uruchomić go jako 5.2.x, aby nie musieć naprawiać zepsutego kodu przy następnej aktualizacji do wersji 5.4, 5.5 itd.?

TL; DR: Czy istnieje funkcja tak:

exec_as_php_version('5.2.14');//?

+0

Tam naprawdę nie powinno być aż tak dużo, że jest uszkodzony między 5.2.x i 5.3 .x. Lista jest dość krótka: http://www.php.net/manual/en/migration53.incompatible.php – ceejayoz

+0

@ceejayoz: nie na liście: każda nowo wprowadzona funkcja spowoduje kod, który definiuje funkcję o tej nazwie, aby przerwać ciężko. Przynajmniej tak się stało z moim kodem, gdy data_format() została wprowadzona w wersji 5.2 –

+0

@ceejayoz Z tego, co znalazłem, nie ma listy funkcji/zmiennych systemowych, które są W PEŁNI amortyzowane (jak w nie istniejącym.) Utrzymuję stary osCommerce kod. Używał super wszędzie HTTP_POST_VARS, który był amortyzowany od 4.1, hahaha! W końcu zniknął z wersji 5.3, podczas gdy działał w wersji 5.2. Ponadto, ponieważ jest to zmienna, nie rzuca ona zamortyzowanego błędu, więc nikt nawet nie zobaczył, że to nadchodzi :( –

Odpowiedz

9

Nie, nie ma. Witamy w piekle zależności od wersji.

+1

@Though not, thanks :) –

Powiązane problemy