PHP Apache2'nin Kullandığı Versiyon Nasıl Değiştirilir?


25

Ubuntu 10.04, MySQL 5.1, Apache 2.2 ve PHP 5.2 / 5.3:

Bir CRM uygulamasında PHP'nin yanlış sürümünü kullandığımı yeni öğrendim. phpinfo()Apache2'nin ne kullandığını bana söyleyecek basit bir betik yapmanın yolunu bulduktan sonra , php.iniweb sunucumun istediğim PHP'yi kullanacağı şekilde değiştirmeyi denedim . Bu benim sorunum. Bunun nasıl yapıldığından emin değilim.

/etcBurada istediğim PHP sürümünü derledim :

/etc/php-5.2.8/

Bunun içinde, php.ini-recommendedbazı değişiklikler yaptığım ve yeniden adlandırdığım bir dosya vardı, php.iniböylece PHP onu kullandı. Ancak tarayıcımı açtığımda geçmişimi temizleyip http://localhost<CRM dir>/install.phpadresime gittiğimde sihirbaz hala PHP'nin doğru sürümünü kullanamadığımı söylüyor.

Bu yazıya dayanarak, betiğimi çalıştırdıktan sonra ortaya çıkan PHP sürümünü değiştirmek için ne yapmam gerekiyor test.php? Başka bir deyişle, phpinfo()PHP 5.3.2 kullandığımı söylüyor, ancak içinde bulunan derlenmiş 5.2.8 sürümümü değiştirmek istiyorum /etc.

Yanıtlar:


8

Sunucunuza bağlı olarak, PHP'ye değil Apache'ye bakıyor olmalısınız.

(RHEL / CentOS için) bakınız /etc/httpd/conf.d/php.ini

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated web pages.
#
LoadModule php5_module modules/libphp5.so
#
# Causes the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

PHP modülünüzün göreceksiniz modules/libphp5.so.

AddHandler php5-script .phpApache'ye PHP'yi uzantılı herhangi bir dosya üzerinde çalıştırmasını söyler .php.

RPM tabanlı bir işletim sistemi kullanıyorsanız, PHP'nin şu anki sürümünü kaldırmanız (bunu yapabileceğinizi varsayarak) kaldırmak ve aradığınız sürümü yeniden yüklemek muhtemelen daha kolaydır.

rpm -qa | grep php

PHP'nin hangi sürümünün yüklü olduğunu size gösterecektir.


3
Yapılandırmayı değiştirdikten sonra Apache'yi sıçratmanız gerektiğini söylemeye değer.
Ben Pilbrow

Keşke bu kadar kolay olsaydı. php.iniSunucu dizininde sahip olduğum tek dosya /etc/apache2/php.iniönerdiğiniz yer değil. Bu dosya hakkında konuştuğunuz şu bileşenler bulunmuyor: LoadModule, AddHandler,
AddType

ilginç. Hangi işletim sistemi lezzetini kullanıyorsunuz? YUM, APT-Get veya YAST (veya başka bir paket yöneticisi) aracılığıyla mı yapılandırıldı?
Grufftech

Ubuntu 10,04. PHP (5.3.2) 'nin yeni sürümü, yaptığım unsing apt-get, kolayca kurulabilir . Ancak PHP 5.2.8 ve 5.2.13 'te derledim, php.net/releases'deki dosyaları kullanarak derledim . Aslında PHP'nin eski sürümünü çalıştırmaya çalışmaktan vazgeçtim. Bence alternatif yaklaşımlar kısalık adınadır. Yardımınız için teşekkürler, yine de ...
nicorellius

42

Eğer zaten başka bir php sürümü kurduysan, sadece apache tarafından kullanılan php * modülünü değiştirmen gerekir.

örneğin, php5 ve php7.0 var. apache'nin php7.0 kullanmasını istediğimde sadece modülünü etkinleştirmem ve php5 modülünü disalbe etmem gerekiyor.

sudo a2dismod php5
sudo a2enmod php7.0
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.