переход с php 4 на php 5

Я разработал этот проект с PHP5. Проект был предоставлен мне со всеми подробностями (используемая версия php, используемая версия mysql и т. д.). Мой клиент сказал разработать проект с использованием PHP5, я рад этому, потому что могу практиковать ООП.

После того, как проект был завершен на моем локальном сервере, я загрузил файлы на рабочий сервер, проблема в том, что рабочий сервер работает на PHP4, поэтому моя работа была испорчена, когда мы запускали проект.

Сегодня крайний срок проекта, и я делаю это в течение нескольких недель, кодируя PHP5 OOP, и до конца этого дня я должен заставить его работать с живым сервером.

Мой клиент не хочет, чтобы я обновлял PHP-версию сервера, потому что это может повлиять на некоторые другие веб-приложения. Если я перекодирую проект, это также может занять несколько недель.

Можно ли как-то это сделать? У меня заканчивается время.


person Jayson O.    schedule 24.10.2012    source источник
comment
Это похоже на проблему, которую следует решить, развернув на сервере совместимую версию PHP.   -  person alex    schedule 24.10.2012
comment
Да, но клиент хочет загрузить их на этот сервер и только на этот сервер.   -  person Jayson O.    schedule 24.10.2012
comment
Возможно, есть решение настроить сервер на php5 только для вашего проекта, используя htaccess с AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php, когда ваш интернет-провайдер разрешает это...   -  person donald123    schedule 24.10.2012
comment
@ donald123 у вас есть ссылки на источники, как это сделать?   -  person Jayson O.    schedule 24.10.2012
comment
Короче говоря, ваш клиент глуп? Я хочу, чтобы вы работали с PHP5, но приложение должно работать на этом сервере, на котором есть только PHP4, и я не хочу его обновлять.   -  person Carlos Campderrós    schedule 24.10.2012
comment
Да, но во время разработки они не сообщили мне, что сервер работает на PHP4, потому что их инструкция состоит в том, чтобы использовать PHP5, поэтому я просто предполагаю, что сервер будет иметь ту же версию PHP.   -  person Jayson O.    schedule 24.10.2012


Ответы (3)


Вы можете запускать несколько версий PHP на одном компьютере. Попробуйте поискать в гугле «установить 2 версии php на одном сервере apache». Один из результатов: здесь.
Основная идея состоит в том, чтобы иметь отдельные виртуальные хосты для приложений PHP5 и PHP4.

person bhovhannes    schedule 24.10.2012
comment
и как мне сообщить моему приложению, какую версию php использовать? - person Jayson O.; 24.10.2012
comment
@Cubixsyntax: вы можете настроить это для каждого каталога или даже для каждого файла (если не для виртуального хоста, например, поддомена) - person hakre; 24.10.2012
comment
какой метод я должен использовать для настройки моего проекта для работы с php5 вместо php4? - person Jayson O.; 24.10.2012
comment
@Cubixsyntax, вы смотрели предоставленную ссылку? Выполнена настройка с двумя разными портами: 8447 и 8423. Один использует PHP5, а другой PHP4. Если вы хотите настроить для каждого каталога, вы можете изменить определение <VirtualHost *:8447> на другое. - person bhovhannes; 24.10.2012
comment
@bhovhannes единственное, к чему у меня есть доступ на сервере, это ftp, так что пока это невозможно. и я жду, пока мой клиент ответит. Я уже сказал им все это, так что давайте надеяться на лучшее. - person Jayson O.; 24.10.2012

Запустите другой сервер (возможно, на другом компьютере, который может быть виртуальной машиной) с современной установкой PHP.

Используйте директиву Apache ProxyPass для сопоставления старого сервера с новым сервером.

Начните тестировать веб-приложения на старом сервере с современной версией PHP и начните миграцию всего, чтобы как можно скорее не подвергать себя ужасно устаревшей угрозе безопасности.

person Quentin    schedule 24.10.2012
comment
в процессе миграции, будет ли у меня достаточно времени, чтобы сделать это? у меня осталось 2 часа. - person Jayson O.; 24.10.2012
comment
Настройка нового сервера без существующего образа диска компании для работы? Через 2 часа? Возможно нет. - person Quentin; 24.10.2012
comment
Хорошо, у меня нет другого выбора. к тому же это не моя вина. клиент сказал мне использовать php5, и я его использую. я следую тому, что он сказал, так что это больше не моя проблема xD - person Jayson O.; 24.10.2012

Мой клиент не хочет, чтобы я обновлял PHP-версию сервера, потому что это может повлиять на некоторые другие веб-приложения. Если я перекодирую проект, это также может занять несколько недель.

Если установка совместимой версии PHP на сервер невозможна (ваш клиент неправильный, у вас может быть несколько версий PHP рядом друг с другом или даже две системы рядом друг с другом, которые доступны через один и тот же домен), то вам нужно переписать код для целевой платформы.

Так как это занимает больше времени до конца дня (или два оставшихся часа), крайний срок необходимо отменить, а перенос на PHP 4 заложить в бюджет.

Рассматривая ваши варианты сверху, я бы сказал, что ситуация безумная. Заставьте PHP 5 работать на том или ином сервере и работа будет выполнена. Вам нужно больше сотрудничества со стороны вашего клиента.

person hakre    schedule 24.10.2012
comment
Да, это безумие. Я жду ответа от моего клиента, я сказал им, что если они не хотят, чтобы я устанавливал php5, то они должны сделать это, чтобы сделать это возможным. - person Jayson O.; 24.10.2012
comment
Скажите им, чтобы установить его. Я предполагаю, что вы не управляете их серверами, так что это их дело. - person hakre; 24.10.2012