Для создание виртуалок на базе Ubuntu Server рекомендую этот VDS-хостинг с SSD-дисками ДЦ в Москве, стабильность мне пока нравится (но я ими пользуюсь только третий месяц). Удобная панель, где самостоятельно можно пересоздать сервер + прописать свой публичный ключ, чтоб на сервер можно было войти сразу после его создания. А, главное, они дают 1 ГБ оперативной памяти за 250 руб. в месяц!

Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль Apache2) на одном сервере под управлением Ubuntu 10.04 (и бонус: прикручивание ZendOptimizer)

Ситуация проста: на новый и очаровательный сервер с Ubuntu 10.04+ и современным (когда-то) PHP 5.3, пригодным для всех актуальных версий CMS, вдруг требуется подселить старый-старый сайт, начинающий сыпать ошибками при попытке запуска на PHP 5.3 (подавай ему чего-нибудь постарше, например, PHP 5.2). Кто виноват — понятно. Но что делать?

Не паниковать! На одном сервере с одним Apache2 прекрасно заводятся и соседствуют PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль Apache2). Мы далее решим проблему так, что указать какой именно PHP использовать можно будет на уровне настроек виртуального хоста.

Эта статья была обновлена до актуального состояния. В частности, ссылки на PHP 5.2 тут рабочие (он переехал в музей старых версий). Мануал не годен для Ubuntu 13.10, поскольку там при сборке php не удаётся подцепить libjpeg62. В общем, коли уж вам приходится заниматься некрофилией, то выбирайте для этого и систему постарее (разумеется, в отдельной виртуалке или на отдельном ни на что более не годном VPS).

Скачиваем дистрибутив php 5.2:
wget http://museum.php.net/php5/php-5.2.17.tar.gz

Распаковываем архив:
tar zxvf php-5.2.17.tar.gz

Заходим в директорию:
cd php-5.2.17

Устанавливаем зависимости:
sudo aptitude install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev make

Конфигурируем, собираем и ставим из исходников наш php 5.2 в директорию /opt/php5.2:
./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect
make
sudo make install

Мы, убунтоводы, избалованы готовыми пакетами, так что наберитесь терпения: с непривычки может показаться, что сборка (по команде make) занимает много времени :-)

Когда всё установиться, можно убедиться в том, что на вашем сервере теперь появилась нужная версия php такой командой:
/opt/php5.2/bin/php -v

Однако, про этот php пока ничего не знает наш уважаемый веб-сервер Apache2. Мы их познакомим через fastcgi.

Ставим:
sudo aptitude install apache2-suexec libapache2-mod-fcgid

Включаем нужные модули Apache2:
sudo a2enmod cgi fcgid actions

Перезапускаем Apache, чтобы модули подцепились:
sudo service apache2 restart

Теперь создадим файл (он будет просто обёрткой, вызывающей наш исполнимый бинарник /opt/php5.2/bin/php-cgi, но с нужными настройками, которые вы можете изменить или дополнить):
sudo nano /usr/lib/cgi-bin/php52-cgi

И туда поместим буквально следующее:
#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi

Сделаем файл исполнимым:
sudo chmod +x /usr/lib/cgi-bin/php52-cgi

Теперь создадим необходимую часть конфига для виртуальных хостов, которым потребуется php 5.2:
sudo nano /etc/apache2/php52.conf

Поместим в файл следующее:
<FilesMatch "\.php">
SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php

Теперь давайте пойдём в конфиг того виртуального хоста, который должен работать с php 5.2 и добавим в него следующую строку (например, после DocumentRoot...):
...
Include php52.conf
...

Перезапустим Apache, чтобы подцепились новые настройки виртуального хоста:
sudo service apache2 restart

Готово! Идите на нужный хост и проверяйте: он теперь обслуживается php 5.2.

Необязательный бонус. Прикручиваем к этому барахлу Zend Optimizer

Скачать совместимую с 5.2.17 версию пока ещё можно тут: http://www.zend.com/en/products/guard/downloads-prev?platform=Linux (потребуется регистрация)

Полученный архив скидывайте на сервер и доставайте из него файл ZendOptimizer.so из директории ./ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/

Создавайте директорию для хранения библиотеки:

mkdir /usr/local/lib/Zend

Перемещайте туда файл библиотеки (если вы распаковывали на сервере, то он уже будет исполнимым, если нет, то сделайте его таковым):

mv ZendOptimizer.so /usr/local/lib/Zend/

Создайте файл с конфигурацией для php:
sudo nano /opt/php5.2/etc/php.ini

Добавьте туда строки:
zend_extension=/usr/local/lib/Zend/ZendOptimizer.so
zend_optimizer.optimization_level=15

Сохраните файл. Теперь добавьте загрузку .ini файла при старте php. Для этого редактируем файл sudo nano /usr/lib/cgi-bin/php52-cgi

Последнюю строку exec /opt/php5.2/bin/php-cgi меняем на exec /opt/php5.2/bin/php-cgi -c /opt/php5.2/etc/php.ini

Теперь при выводе phpinfo(); вы увидите заветные строчки:

phpinfo с Zend Optimizer

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Занятно. Только стоит ли морочить голову . Можно просто подключить те старые библиотеки, которые не поддерживаются. Мне кажется, это было бы проще.

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

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

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Возможно и так. Но гораздо большевариантов, когда пытаются совместить php4 и 5. Будет ли это работать?

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Я не проверял, но должно. Поскольку вместо конкретно этого /opt/php5.2/bin/php-cgi вызываться для обработки может всё, что угодно. То есть достаточно собрать php 4 и отредактировать /usr/lib/cgi-bin/php52-cgi так, чтобы он ссылался на другой бинарник (на php 4).

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Помогите пожалуйста. не ставится зависимости. aptitude command not found
Устанавливаем зависимости:
sudo aptitude install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev

Конфигурируем, собираем и ставим из исходников наш php 5.2 в директорию /opt/php5.2:
loading cache ./config.cache
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... no
checking for cc... no
configure: error: no acceptable cc found in $PATH

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Сначала сделайте так:
sudo apt-get install aptitude

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Здравствуйте!
а как прикрутить pdo_mysql к 5.2 , а то modx ругается.

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect --with-mysqli --with-pdo-mysql

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Спасибо за публикацию. В целом получилось, но мне не удалось задействовать расширения PHP(extentions), в частности fileinfo.so, данные сервера - Ubuntu, Apache, MYSQL, PHP. Что-нибудь посоветуете?

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Расширения PHP работают. Причина была в неудачном апгрейде сервера, в частности PHP. Кто использует расширения надо обратить внимание на extension_dir, по умолчанию указывается несуществующая папка, я прописал в php.ini Если используется графическое расширение freetype, можно скомпилировать 5.2.11 версию - есть в сборке, нужно только указать в configure.

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Подскажите пожалуйста,при сборке из исходников php5.2 мы конфигурируем добавлением множества ( --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect).
так вот, от куда они берутся? где можно почитать про каждый из них?

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Библиотеки установленные в ubuntu.Если их нет установить можно через apt-get install название библиотеки.Если вы уверены что она установлена найти её можно с помощью команды locate название библиотеки...

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Никак не получается запустить обе версии php так, чтобы одна была как модуль apache, а вторая - как fastcgi. Можно ли выложить все конфиги апача, которые задействованы?

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Спасибо! Ставил на центос 6,3, пхп ругался на libmysqlclient.
собралось только так:
./configure --prefix=/opt/php5.2 \
--with-config-file-path=/opt/php5.2 \
--with-curl --with-gd --with-jpeg-dir \
--enable-cli --enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mysqli \
--with-mysql=/usr/bin/ \
--with-libdir=lib64 \
--with-pdo-mysql

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Статья была обновлена. Поставлена актуальная ссылка на php 5.2.17 и совместимый ZendOptimizer. Ну, и, написано как его вообще прикрутить.

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

Всё сделал по инструкции. Но почему-то при входе на сайт требует авторизации! Убираю инлклюд php52.conf из настроек виртуалхоста-входит, но ессно, работает под управлением php 5.4. Сайт на старой джумле, контент не выводится. Компоненты и модули некоторые работают.
Система Дебиан 7

Re: Настройка PHP 5.2 (через fastcgi) и PHP 5.3 (как модуль ...

С горе пополам получилось все настроить. Огромное спасибо!
Подскажите, пожалуйста, как ко всему этому добру можно прикрутить ioncube?

Добавляет /php59-cgi/ к пути

Сделал, как описано, подозреваю, что работает, но на выходе к URL подставляется /php59-cgi/.
То бишь, вместо бла-бла/wordpress/index.php оно ищет /php59-cgi/wordpress/index.php

Не силён в апаче, буду рад за подсказку.

Ответить на комментарий

What's up, just wanted to tell you, I loved this article.
It was funny. Keep on posting!

www бабы порно

Гост р исо 4017 2013 скачать
Книги по компьютеру скачать торрент
Минус песни школьная пора скачать бесплатно
Скачать музыку диджей смеш
Северный флот дискография скачать торрент

порно в российских банях

Домашняя порнуха скачать

порно нд большие женщины

Порно оргии хд

порно в летнем платье

Смотреть порно фильм дядя

ютуб порно он

Порно искусственная сперма в туалете

порно самый романтичный

Греческое ретро порно

порно рассказы реальные измена

Голая буланова порно

порно застряла раком

Порно полизать клитор

порно толстожопые училки

Порно пляж душ

порно фотографии пизды

Лечебная гимнастика видео скачать бесплатно

порно госпожа в сапогах

Русское лесби порно видео онлайн

порно видео с анной шупиловой

Немецкое порно gina

порно фото худеньких девушек

Бесплатные сайты знакомств в санкт петербурге

ислам сайт знакомство

Мамба дагер

сайты знакомств япония

Сайт знакомств для серьезных отношений теамо

сайт знакомств украина донецк

Лендинги с высокой конверсией за 999 руб. (АКЦИЯ)

Скопируем лендинг с Высокой конверсией за 999 руб. Идеальное решение для проверки новой ниши, директа или стартапа! - За 1 день с оплатой по факту! + подарок! - Жми: http://lp999rub.plp7.ru или звони!

Лендинги с высокой конверсией за 999 руб. (АКЦИЯ)

Делаем копии продающих лендингов за 999 руб. Получит крутой лендинг за 1 день и оплатой по факту! Закажи со скидкой 70%, жми: http://lp999rub.plp7.ru

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

RSS-материал