Tek bir xampp kurulumuyla aynı anda birden fazla PHP sürümü kullanabildiğinizde neden PHP sürümleri arasında geçiş yapmalısınız ? Tek bir xampp kurulumuyla 2 seçeneğiniz vardır:
Yalnızca eski projenizin dizini için daha eski bir PHP sürümü çalıştırın:
Bu, çoğu zaman amaca hizmet edecektir, daha eski PHP sürümüyle çalıştırmak istediğiniz bir veya iki eski projeniz olabilir. Xampp'i sadece bu proje dizinleri için eski PHP sürümünü çalıştıracak şekilde yapılandırmanız yeterlidir.
Eski bir PHP sürümünü ayrı bir xampp bağlantı noktasında çalıştırın: Bazen aynı projeyi yeni ve eski PHP sürümünde ileri ve geri çalıştırmanız gerektiğinde, en son PHP sürümüne yükseltme ve eski proje olabilir. Daha sonra farklı bir bağlantı noktasında (8056 diyelim) eski bir PHP sürümü ayarlayabilirsiniz, böylece http://localhost/any_project/
xampp'e gittiğinizde PHP 7'yi çalıştırdığınızda ve http://localhost:8056/any_project/
xampp'e gittiğinizde PHP 5.6'yı çalıştırırsınız.
Sanal ana bilgisayarda eski bir PHP sürümü çalıştırma: PHP 5'i çalıştırmak için localhost56 gibi bir sanal ana bilgisayar oluşturabilir, localhost üzerinde PHP 7 kullanabilirsiniz.
Hadi ayarlayalım.
Adım 1: PHP'yi indirin
Yani xampp altında çalışan PHP 7 var, PHP 5.6 gibi daha eski bir PHP sürümü eklemek istiyorsunuz. PHP zip arşivinin nts (Thread Safe olmayan) sürümünü php.net'ten indirin ( eski sürümler için arşive bakın ) ve altındaki dosyaları ayıklayın c:\xampp\php56
. İş parçacığı güvenli sürümü php-cgi.exe içermez.
2. Adım: Yapılandırınphp.ini
c:\xampp\php56\php.ini
Dosyayı not defterinde açın . Dosya kopyalama yoksa php.ini-development
hiç php.ini
ve not defteri açın. Sonra aşağıdaki satırı açın:
extension_dir = "ext"
3. Adım: Apache'yi yapılandırın
Xampp kontrol panelini açın, apache için config düğmesine tıklayın ve tıklayın Apache (httpd-xampp.conf)
. Bir metin dosyası açılarak aşağıdaki ayarları dosyanın altına koyun:
ScriptAlias /php56 "C:/xampp/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Not: İsterseniz, 1'den 3'e kadar olan adımları izleyerek xampp kurulumunuza daha fazla PHP sürümü ekleyebilirsiniz.
4. Adım (seçenek 1): [Belirli PHP sürümünü çalıştırmak için Dizinler ekleyin]
Şimdi PHP 5.6'da çalışacak dizinleri ayarlayabilirsiniz. Dizinleri ayarlamak için yapılandırma dosyasının altına aşağıdakileri eklemeniz yeterlidir.
<Directory "C:\xampp\htdocs\my_old_project1">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
<Directory "C:\xampp\htdocs\my_old_project2">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
4. Adım (seçenek 2): [Eski bir PHP sürümünü ayrı bir bağlantı noktasında çalıştırın]
Şimdi PHP v5.6'yı bağlantı noktası 8056'ya ayarlamak için yapılandırma dosyasının altına aşağıdaki kodu ekleyin.
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
4. Adım (seçenek 3): [Sanal ana bilgisayarda daha eski bir PHP sürümü çalıştırın]
Http: // localhost56 üzerinde PHP v5.6 kullanmak üzere bir dizinde (htdocs56) bir sanal ana makine (localhost56) oluşturmak için, istediğiniz yerde htdocs56 dizini oluşturun ve hosts dosyanıza localhost56 ekleyin ( nasıl yapılacağını görün ), ardından aşağıdaki kodu ekleyin httpd-xampp.conf dosyasının en altına yerleştirin.
<VirtualHost localhost56:80>
DocumentRoot "C:\xampp\htdocs56"
ServerName localhost56
<Directory "C:\xampp\htdocs56">
Require all granted
</Directory>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Bitiş: Apache'yi Kaydet ve Yeniden Başlat
Yapılandırma dosyasını kaydedip kapatın, xampp kontrol panelinden apache'yi yeniden başlatın. Seçenek 2'ye gittiyseniz, xampp kontrol panelinizde listelenen ek bağlantı noktasını (8056) görebilirsiniz.
Hata Güncelleştirmesi:
'php-cgi.exe' komut dosyasından hatalı biçimlendirilmiş başlık: Hatalı başlık
Yukarıdaki hatayla karşılaşırsanız, httpd-xampp.conf
tekrar açın ve aşağıdaki satırı baştaki # (hash karakteri) ile yorumlayın.
SetEnv PHPRC "\\path\\to\\xampp\\php"