Как можно выполнить несколько версий PHP 5.x на сервере ЛАМПЫ разработки?

Variable устарела и, возможно, будет удалена в будущем выпуске, поэтому я использовал вместо нее Relay.

Лучшим подходом было бы сделать форматирование в map наблюдаемой последовательности и связать его с выводом.

Примерно так в ViewModel:

var orderDate = BehaviorRelay<Date?>(value: nil)
lazy var formattedOrderButtonText = orderDate.map { return [110] == nil ? "String 1" : "String 2" }

А затем использовать formattedOrderButtonText в контроллере представления для привязки, например:

viewModel.formattedOrderButtonText.bind(to: orderButton.rx.title).disposed(by: disposeBag)
81
задан 3 revs, 2 users 100% 15 February 2017 в 00:39
поделиться

3 ответа

Один способ сделать это должно иметь Вашу основную версию php, настроенного с mod_php и прокручивать всех другие быстро cgi на различных портах (т.е. 81, 82, 83 и т.д.). Это не гарантирует полностью последовательного поведения все же.

17
ответ дан Dana the Sane 24 November 2019 в 09:43
поделиться

Наличие нескольких экземпляров апача + php никогда действительно щекотало мое воображение, но это, вероятно, самый легкий способ сделать это. Если Вы не чувствуете, что KISS... вот является идеей.

Будят Вашего апача и выполнение, и попытка действительно настраивает, это как debian и человечность делает это, например, имеет каталоги для загруженных модулей. Ваш апачский conf может использовать строки как это:

Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

Затем создают Вашу первую версию php и дают ему префикс, которому содержали номер версии явно, например,/usr/local/php/5.2.8,/usr/local/php/5.2.6...

conf/load выглядел бы примерно так:

php5.2.6.load

LoadModule php5_module /usr/local/php/5.2.6/libphp5.so

php5.2.8.load

LoadModule php5_module /usr/local/php/5.2.8/libphp5.so

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

Одним преимуществом этой установки является все, последовательно, так долго Вы сохраняете php.ini тем же с точки зрения опций и модулей (который Вы имели бы отношение к CGI так или иначе). Они все проходят SAPI. Ваши приложения не будут нужны ни в каких изменениях вообще, ни должны использовать относительные URL.

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

10
ответ дан 3 revs, 2 users 87% 24 November 2019 в 09:43
поделиться

Я только что успешно перешел с PHP5.3 на Ubuntu 10.

Для этого я использовал следующий сценарий:

#! /bin/sh
php_packages=`dpkg -l | grep php | awk '{print $2}'`

sudo apt-get remove $php_packages

sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list

sudo mkdir -p /etc/apt/preferences.d/

for package in $php_packages;
do echo "Package: $package
Pin: release a=karmic
Pin-Priority: 991
" | sudo tee -a /etc/apt/preferences.d/php
done

sudo apt-get update

sudo apt-get install $php_packages

Для тех, кто не знает, как запускать сценарии из командной строки, вот краткое руководство:

1. cd ~/
2. mkdir bin
3. sudo nano ~/bin/myscriptname.sh
4. paste in the script code I have posted above this
5. ctrl+x (this exits and prompts for you to save)
6. chmod u+x myscriptname.sh

Эти 6 шагов создают сценарий в папке с именем «bin» в вашем домашнем каталоге. Затем вы можете запустить этот сценарий, вызвав следующую команду:

~/bin/myscriptname.sh

Oulia!

Надеюсь, это поможет некоторым из вас!

Для справки, вот где я взял сценарий: PHP5.2.10 для Ubuntu 10

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

3
ответ дан 24 November 2019 в 09:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: