XAMPP'nin birden çok PHP sürümüyle çalışmasını sağlama


18

PHP'nin farklı sürümleriyle çalışmak için XAMPP'yi nasıl yükleyebilirim?

XAMPP kullanıyorum çünkü bazı betikler WAMP'ta çalıştırıldığında hatalıdır. PHP'nin farklı sürümlerini desteklediğinden WAMP kullanıyorum.

Ama şimdi sadece XAMPP için düzene koymak istiyorum, böylece web geliştirme yönetmek daha kolay olurdu.

XAMPP'yi birden fazla PHP sürümüyle çalışacak şekilde yapılandırmak mümkün mü? Yoksa alternatif bir çözümde aramam gereken bir şey mi?

Not: Windows 7'de çalışıyorum.


Xampp yerine WAMPSERVER kullanmak isteyebilirsiniz. WAMPSEVER, PHP sürüm anahtar tepsisini içerir; ki bu kullanışlı.
Weijing Jay Lin

Yanıtlar:


8

Lütfen dikkat
Bu cevap XAMPP'nin yeni sürümü için geçerli değildir.


İlk olarak, Apache'yi XAMPP'den durdurmanız gerekir . Sonra,

Git cmd'ye gidin ve XAMPP klasörünüze geçin. Örneğin, XAMPP klasörünüz C: \

C:\>cd C:\XAMPP 

Bu klasörde, php-switch.batkomut satırından çalıştırın adlı bir dosyadır . Değilse, php-switch.batdoğrudan da çalıştırabilirsiniz .

Şu anda bulunduğunuz sürümü ve geçiş prosedürünü göreceksiniz. Örneğin, 4PHP 4'ü değiştirmek için yazın ve prosedürü izleyin.

terminalde çalışan php-switch.bat

PHP 4, XAMPP \ PHP dizininize yüklenecek ve başarıyla değiştirilecektir. ardından Apache'yi yeniden etkinleştirin.


1
Yüklü XAMPP 1.7.3 üzerinde php-switch.bat bulamıyorum. Bunu destekleyen belirli bir xamp sürümü var mı? Teşekkürler!
Pennf0lio

Hata. Ben mevcut sürümü artık php4 içermiyor düşünüyorum apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Ben v4 geçmek istiyorsanız eski sürüme ihtiyacınız olacağını düşünüyorum
Ye Lin Aung

4
bu artık
XAMPP'nin

1
Artık geçerli olmayan nedir? PHP4 mü yüklüyor veya sürümleri mi yüklüyor?
AlxVallejo

4
yeni sürümünde artık php-switch.bat yok
Toskan

5

En iyi yöntem PHP ayarlarını değiştirmektir.

/apache/conf/extra/httpd-xampp.conf

kullanmak istediğiniz PHP'nin yeni sürümünü yansıtmak için

Benim durumumda PHP5.4'ü C: \ XAMPPLITE \ PHP5.4'ten açtım ve bu dosyadaki anahtar satırları güncelledim:

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

Ayrıca php5apache2_2.dll dosyasının doğru sürümünün kurulu olduğundan emin olmanız gerekir

Bunu sağlamak için php5apache2_2.dll dosyasının yeni sürümünü benzersiz bir adla Apache modül dizinine kopyaladım ve ardından yapılandırmayı buna uyacak şekilde değiştirdim:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

ve httpd-xampp.conf dosyasında

LoadModule php5_module modules/php5apache2_2-5_4.dll

1

Komut dosyalarınız buggy ise, hangi sunucu paketlerini değiştirirseniz değiştirin buggy olarak kalacaktır. Sorun sunucu yapılandırmalarınızdaysa, sağa gidin ve çözün.

Gerçek hardcore çözüm, sunucu bileşenlerini (ve yapılandırmalarını) elle kurmak ve yönetmek olacaktır. WAMP'tan kendi kendini yöneten sunucu kurulumuna geçtiğim için, önceden paketlenmiş sunucu çözümlerine bir daha ihtiyaç duymadım.


Tavsiye için teşekkürler! Tartışmaların çoğu, XAMPP'yi komut dosyası sorunu için hızlı ve kirli bir çözüm olarak kullanmanızı önerir. Bir noktanız olsa da, benim için sadece sunucuya geçiş yapmak akıllıca olur (hızlı olduğu için) nereden başlayacağım hakkında bir fikrim yok olan sunucu yapılandırmasıyla uğraşmakla karşılaştırın.
Pennf0lio

Peki ... Er ya da geç, konfigürasyonları araştırmaktan başka bir seçeneğin olmadığı bir duruma gelebilirsiniz (terminal sunucusuyla bir sunucu yapılandırmak gibi). Fikrinizi değiştirirseniz - XAMPP / WAMP / LAMP önceden tanımlanmış yapılandırma dosyalarınızı yeni bir bağımsız sunucu kurulumunun dosyaları ile ayırmayı ve bu farklılıkların ne anlama geldiğine dair kılavuzlara bakmayı deneyebilirsiniz. Şimdi bildiklerimi bu şekilde öğrendim.
antichris

İpucu için harika teşekkürler. Evet, senin fikrinle aynı fikirdeyim ama şimdilik sorunumla birer birer ilgileneceğim ve en hızlı çözümü bulacağım. : PI birçok son teslim tarihine sahip. Yardımı gerçekten takdir ediyorum :)
Pennf0lio

Benzer bir soru sordum ama burada daha fazla işlevsellik ile serverfault.com/questions/121810/… xampp'imde apache, mysql, php ve phpmyadmin gibi öğeleri yükseltmek istedim. Hala buna bir çözüm arıyorum. Birisi bir çözüm bulursa lütfen bana bildirin. Teşekkürler
Gaurav Sharma

1

Bu özelliği (yani, apache, mysql ve php bileşen yapılarını karıştırma ve eşleştirme yeteneği) ve 3. Taraf Birlikte AMP Stack Uygulamalarını tercih ediyorsanız, WAMPServer 2.0'a Windows için bir seçenek olarak bakabilirsiniz ... Baktığım paketli AMP Seçeneği (Windows, Mac ve Linux için) bileşen yapılarını değiştirmeye izin vermiyor (sadece eski kod nedeniyle sunuldukları için bileşen yapıları olarak PHP4 ve PHP5'in anahtarlarını dahil etmiyorum PHP5 daha geriye dönük uyumlu ve PHP4 daha az bol olana kadar).

Çoğu 3.Parça Paketli AMP Stack Uygulaması, özellikle Unix tabanlı işletim sistemi yapıları (Mac ve Linux), Stack Bileşenlerini "app" kök diziniyle aynı dizin yapısında tutmak için, her bileşeni belirli yönergelerle derlemek zorundadırlar ve nihayetinde her bir bileşenin klasör başvuruları ve ikili imzaları bazı türlerini kablolar argümanlar kendilerini oluşturur .... özellikle mysql ve php bileşenleri, çünkü hem paylaşılan hem de özellikle başvurulan ve dahil edilmesi gereken kitaplık nesneleri var kaynak derleme sırasında ... (ve bana öyle geliyor ki çoğu nedenle herhangi bir nedenle sadece isteğe bağlı her yönerge ve kütüphane ile derlemek değil ... sorunu çözecek ya da değil b / c bu kadar aldım emin değilim bunu henüz cevaplamak için projemle).

Bir başka not, aynı bağlamda olduğu için .... bileşenlerin otonom yüklemelerin _AMPP yığınlarına karşı kullanılmasıyla ilgili yorumlarla ilgili olarak, maalesef sadece ne yazdığımı biliyorum çünkü 3 otonom kullanarak kurmaya çalıştım bileşenlerin kaynak kodu ve benim pasta var çalıştı ve yemek .... hiç bunlardan herhangi biri ile ilgili herhangi bir deneyim yoktu iken .... geliştiriciler yapmak ve neden çok ikna edici 2 neden olduğunu söyleyebilirim Yığınları yerel geliştirme ortamları için kullanmalıdır:

1) projeniz bu teknolojiyi kullanıyor ancak herhangi bir bileşenin çekirdeği içinde açıkça işlevini genişletmiyorsa, çoğu sadece üzerinde çalışmak için ihtiyaç duydukları şey üzerinde çalışabilmek için çalışan olmak ister ... 3 bileşenin birbirleriyle sorunsuz bir şekilde konuşabilmesi için gerekli tüm yapılandırmaları bulmak. Hangi direktiflerin, modüllerin, kütüphanelerin, derleme argümanlarının vs. gerekli olduğunu öğrenmek için günlerce kolayca mücadele edilebilir. Zaten biliyorsanız, harika, ama onlar için yapmayacaksanız bunu yapmayan birine tavsiye etmeyin.

2) paket yığınları özerk ve OS yapılandırma dosyalarından izole, bu nedenle ciddi sonuçları olmadan devel ortamınızı çöpe alabilirsiniz .... gerekli "vb" klasörüne dosyaları komut dosyalarını çalıştırmak istiyorsanız, ben yok Seni biliyorum, ama zaman zaman bir hata yapabilirim ve ../XAMPP/etc klasöründe bir hata / etc klasöründe bir hata sonra çok daha az acı verici.

3) GUI ... GUI ... GUI ... herkes bir komut satırı değil Mozart ve AMPP yığınlarının hepsi, kalbinizin içeriğini açıp kapatmak için hoş bir GUI sağlar. Bir GUI istiyorsanız, AMPP Stack uygulamalarına doğru yöneleceksiniz ... umursamıyorsanız, hepsi benim puanlarıma ne kadar ağırlık veya stok koyduğunuza bağlıdır.

Her neyse, "Birisi Esneme Nasıl Yapılır" konulu tezi için üzgünüm, umarım birisi bundan bir şeyler alır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.