Nasıl bir gelişme LAMP sunucuda PHP 5.x birden çok sürümünü çalıştırabilirsiniz?

6 Cevap php

(Kötü-phrased başlık için özür dilerim.)

Böyle PHP 5.0.0 ve PHP 5.2.8 olarak PHP 5.x birden sürümleri ile benim PHP uygulamaları test etmek gerekir.

Ben hızlı PHP5 birden sürümleri ile uygulamaları test edebilirsiniz böylece bir gelişme LAMP sunucusunu yapılandırabilirsiniz bir yolu var mı?

6 Cevap

Bunu yapmanın bir yolu mod_php kurmak php ana sürümüne sahip ve farklı bağlantı noktaları (örneğin 81, 82, 83 vb) hızlı cgi ile tüm diğerleri çalıştırmaktır. Bu olsa tamamen tutarlı davranışı garanti vermez.

Bu makalede, geçmişte bana yardımcı oldu.

Bu size yardımcı olur umarım.

http://linuxplayer.org/2011/05/intall-multiple-version-of-php-on-one-server

Apache + php birden çok örneği olması gerçekten benim fantezi gıdıklayan, ama bunu yapmak için muhtemelen en kolay yolu asla. Eğer KISS gibi hissediyorum yoksa ... işte bir fikir.

Apache yukarı ve çalışan almak ve Debian gibi yapılandırabilirsiniz yapmak denemek ve ubuntu yüklü modüller için dizin var, örneğin, bunu. Sizin apache conf bu gibi çizgiler kullanabilirsiniz:

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

Sonra php ilk sürümü kurmak, ve bu sürüm numarası açıkça bulunan bir önek vermek, örneğin, / usr/local/php/5.2.8, / usr/local/php/5.2.6 ...

Conf / yük bu gibi bir şey olacaktır:

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

Sürümleri geçmek için, yapmanız gereken tüm başka bir versiyonu için olanlar için üzerinde içermez dizin apache gelen yük ve conf dosyaları değiştirmek olduğunu. Bu, basit bir bash betiği (gerçek dosyayı silmek ile bu otomatikleştirmek alternatif versiyonları yer dosya kopyalama ve apache yeniden başlatın.

Bu kurulum bir avantajı her şey çok uzun (yine CGI ile yapmak zorunda olan) seçenekleri ve modülleri açısından php.ini 'nin aynı tutmak, consitent olmasıdır. Hepsi SAPI'den geçiyoruz. Sizin uygulamaları herhangi bir değişiklik gerekir, ne de göreli URL'leri kullanmaları gerekmez.

I think bu çalışması gerekir, ama sonra tekrar, ben denemedim, ne de ben senin gibi aynı koşulları yok gibi bunu yapmak için muhtemel. Hiç olsa denemek yoksa yorumunuz var mı.

Ben sadece başarılı Ubuntu 10. PHP5.3 döndürüldüğünü var.

Bunun için ben aşağıdaki komut kullanılır:

#! /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

Komut satırından komut dosyalarını çalıştırmak için nasıl bilmiyor herkes için, burada kısa bir öğretici olduğunu:

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

Bu 6 adımlar ev dizininde "bin" adlı bir klasörde bir komut dosyası oluşturun. Daha sonra aşağıdaki komutu arayarak bu komut dosyasını çalıştırabilirsiniz:

~/bin/myscriptname.sh

Oulia!

Bu biraz sizin yardımcı olur umarım!

For reference, here is where I got the script: PHP5.2.10 for Ubuntu 10

Orada bütün bu işleri onaylayan orada birkaç kişi vardır, ve bu benim için bir tedavi çalıştı.

Muhtemelen bir yerel / masaüstü makine bahsediyoruz ve muhtemelen continue, yerel / masaüstü makineden bahsediyoruz istiyorum anlamak, ben size yardımcı olabilecek durumda sadece sizin için orada bir alternatif atmak olacak ya da bir başkası:

Bulut içinde birden fazla sanal sunucu örneğini kurmak, ve bir git depo olarak aralarında kodunuzu paylaşmak (veya Mercurial, ben hiçbir kişisel deneyime sahip olsa gerçekten ihtiyacınız olan tüm dağıtılmış şeydir herhalde). , Bu, mümkün olduğunca bir üretim deneyimi olarak yakın veren yararı vardır, ve deneyim sunucuları kurma varsa, sadece yapmanız gerekenleri yapmak, bir sunucu dönmeye istiyorsanız o zaman, o karmaşık (ya da pahalı değil Eğer sadece çalışan bırakırsanız o zaman) o zaman birkaç kuruş kadar, 50 sent söylemek kadar bir kaç kuruş bahsediyoruz, tekrar aşağı doğru döndürün.

Ben bu gün bulut benim proje geliştirme yapmak ve ben yerel / non-sanallaştırılmış yükler kullanırken benden daha altyapısını yönetmek çok daha kolay buldum ve yan-yan senaryo bu tür oldukça yapar yalındır. Sadece bunu kabul olsaydı orada fikir atmak istedim.

I phpfarm FastCGI ile birlikte bir makine üzerinde php birden çok sürümünü çalıştırmak için kullanıyorum.

Diğer seçenekler Bu yazı listelenmiştir: RVM equivalent for PHP?