Перейти к содержимому


Фотография

РНР 5 и РНР 4 на одном компе и в одной системе. Возможно ли так?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Sergey Romanov

Sergey Romanov

Отправлено 10 Февраль 2005 - 17:35

Возможно ли настроить комп (WinXP) чтобы на нем работали и РНР 4 и РНР 5. Можно конечно установить еще один сервис Апача и настроить его на РНР5 но когда кидаешь ДЛЛки в /system32/ то они пересекаются с ДЛЛками РНР4.



#2 Гость_PART_*

Гость_PART_*
  • Гости
  • Регистрация: --

Отправлено 10 Февраль 2005 - 23:54

когда кидаешь ДЛЛки в /system32/ то они пересекаются с ДЛЛками РНР4.

Не пересекаются, в PHP 5.0.3 никаких дополнительных дллок в system32 кидать не нужно. Путь к php.ini задаётся
SetEnv PHPRC C:/каталог
в httpd.conf.
Короче, в install.txt всё написано.



#3 Sergey Romanov

Sergey Romanov

Отправлено 11 Февраль 2005 - 00:17

Спасибо. Знасит это осушествимо.



#4 Гость_dotNet_*

Гость_dotNet_*
  • Гости
  • Регистрация: --

Отправлено 11 Февраль 2005 - 01:00

вроде в Денвере это реализовано - РНР4 как модуль, и РНР5 как cgi



#5 Sergey Romanov

Sergey Romanov

Отправлено 14 Февраль 2005 - 11:20

Чет я ни как не могу это сделать. По любому в этом случае у РНР 5 должно быть расширение файлов другое. динственное что я вижу это поставить еще один сервер. И на Апачь1 поставить РНР4 а на апачь2 поставить РНР5 и просто переключать когда надо



#6 Гость_dotNet_*

Гость_dotNet_*
  • Гости
  • Регистрация: --

Отправлено 14 Февраль 2005 - 13:43

сделай на php4 - расширение .php, .phtml, и т.д.
а на php5 - .php5



#7 Sergey Romanov

Sergey Romanov

Отправлено 14 Февраль 2005 - 17:12

dotNet
А как пользоваться кодами сторонних разработчиков? Ведь они расширение .рнр.



#8 Гость_dotNet_*

Гость_dotNet_*
  • Гости
  • Регистрация: --

Отправлено 14 Февраль 2005 - 17:56

попробуй для каждого ВиртуалХоста переписать правила, т.е.

 

<virtualhost *:*>
AddType application/x-httpd-php5 .php

 

DocumentRoot "Z:/home/host1/www"
ServerName "www.host1"
ServerAlias "host1" "www.host1"
</virtualhost>

 

<virtualhost *:*>
AddType application/x-httpd-php4 .php

 

DocumentRoot "Z:/home/host2/www"
ServerName "www.host2"
ServerAlias "host1" "www.host2"
</virtualhost>



#9 Sergey Romanov

Sergey Romanov

Отправлено 14 Февраль 2005 - 20:46

У меня почему то

 

SetEnv PHPRC C:/каталог

 

Не работает. рнр.ини всеравно в папке виндоус. И как сделать что бы для каждого РНР был свой ини?

 

По мойму только два севера ставить.



#10 Гость_dotNet_*

Гость_dotNet_*
  • Гости
  • Регистрация: --

Отправлено 15 Февраль 2005 - 00:49

Не работает. рнр.ини всеравно в папке виндоус. И как сделать что бы для каждого РНР был свой ини?

нет, так нельзя.
php и 4 и 5 берет путь к ини файлу через $ENV{'PHPRC'}



#11 KPbIC

KPbIC

Отправлено 20 Февраль 2005 - 01:24

УСТАНОВКА PHP5 и PHP4 под индейца

 

Установка php5

 

Делаем стандартную установку php5 - для меня это более приемлемый вариант чем изначально делать установку php4. Потому что я сейчас использую php5 как более приоритетную версию.

 

1. В httpd.conf добавляем три строчки
LoadModule php5_module d:/web/php5/php5apache.dll
AddModule mod_php5.c
AddType application/x-httpd-php .php
2. Переписываем "D:/web/php5/php5ts.dll" в "C:/WINDOWS/system32"

 

3. Стартуем Apache - у нас есть рабочий php5.

 

Магические пассы

 

Как же нам заставить работать php4? Для этого нам нужен любой hex-editor который сможет сделать замену в файлах. Устраним ту самую невозможность существования двух версий пхп как модули.

 

Открываем файл "D:/web/php4/php4ts.dll"
Находим первое вхождение строки php.ini и заменяем её на ph4.ini

 

!!!! Самое главное сохранить количество байт в файле. Делаем только замену.

 

Открываем файл "D:/web/php4/sapi/php4apache.dll" если у Вас стоит Apache 1.x или "D:/web/php4/sapi/php4apache2.dll" если у Вас стоит Apache 2.x, находим там строчку application/x-httpd-php - и заменяем её на application/x-httpd-ph4, то есть php -> ph4

 

!!!! Самое главное сохранить количество байт в файле. Делаем только замену.

 

Установка php4
Теперь копируем "D:/web/php4/php4ts.dll" в C:\WINDOWS\system32
Добавляем в httpd.conf ещё две строчки.

 

LoadModule php4_module d:/web/php4/sapi/php4apache.dll
AddModule mod_php4.c

 

И запускаем apache - веб сервер должен запустится если вы всё сделали правильно.
Но у вас до сих пор обрабатывается только php5 !!!!!

 

Зато после исправления "D:/web/php4/sapi/php4apache.dll" у нас в Apache появился новый тип "application/x-httpd-ph4", который мы можем прописать как основной для файлов с расширеним .php4 или что более приятное - сделать это только для виртуального хоста, прописав

 


AddType application/x-httpd-ph4 .php

И теперь в этом виртаульном хосте все файлы .php буду обрабатыватся только php4.

 

php.ini

 

А как же вы скажете с php.ini ?
А с ним всё хорошо.

 

php5 будет искать свои настройки в С:/WINDOWS/php.ini, a
php4 будет искать свои настройки в C:/WINDOWS/ph4.ini.

 

Приятное дополнение
Как известно программисты люди ленивые и все программы пишут от того что им лень заниматься рутинными делами по нескольку раз.

 

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

 

http://www.php.com.u...php4apache.dll/
http://www.php.com.u...oad/php4ts.dll/

 

оригинал статьи - http://php.com.ua/tips/25/



#12 Sergey Romanov

Sergey Romanov

Отправлено 22 Февраль 2005 - 18:03

KPbIC
COOL!!!

 

Все работает. Только я сделал наоборот. РНР4 поставил как основной а РНР5 для нового сайта который пишется именно под РНР5

 

Спасибо






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных