Daha kısa cevap.
Panik yapma! Apache sunucunuzun hangi PHP sürümünü kullandığı konusunda endişeleriniz varsa, çıktısı phpinfo()
her zaman dikkat etmeniz gereken şeydir. Apache PHP modülü ve PHP komut satırı ikili, birbirini etkilemeyen iki farklı şeydir.
Aslında, Apache'yi düzgün yüklemek için ayarladığınız sürece Apache ile çalışmak istediğiniz çeşitli PHP sürümlerini derleyebilir ve yükleyebilirsiniz. PHP komut satırı arabirimi Apache'nin PHP sayfalarını ayrıştırması durumunda asla devreye girmeyecektir.
PHP'nin komut satırı sürümü sadece komut satırına özgü görevler için vardır ve Apache için PHP modülü buna asla dokunmaz, kullanmaz veya ihtiyaç duymaz.
Daha uzun cevap.
Bunu söyle:
Hangi php
sürümü kullandığımı bilmek istedim, bu yüzden standart komut dosyasını yazdım:
phpinfo();
Hangi bana PHP sürüm 5.6.10 - benim uygulama için gerekli doğru PHP sürümü verir . Terminalde denediğimde:
php -i or php -v
Bana ihtiyacım olmayan PHP 5.3.2 sürümünü gösterir.
Komut satırından kullanılabilen PHP sürümünün, modül olarak yüklenen PHP sürümüyle hiçbir ilgisi yoktur. Bunlar tamamen ayrı şeyler.
Yani web uygulamanızın hangi PHP sürümünü kullandığı konusunda endişeleriniz varsa phpinfo()
, 5.6.10 sürümünü gösterir ve% 100 para cezası istediğiniz / ihtiyaç duyduğunuz şey budur.
PHP'nin komut satırı sürümü tamamen ayrı bir sistem öğesidir. Yani önemli olan tek şey çıktısıdır phpinfo()
.
Herhangi bir nedenle Apache ile PHP'nin farklı bir sürümünü kullanmak istiyorsanız, tek yapmanız gereken derlenmiş Apache PHP modülünü bir yere kurmak ve sisteminizin Apache konfigürasyonuna bu satırı eklemek veya ayarlamaktır:
LoadModule php5_module /path/to/php/and/the/module/for/apache2/libphp5.so
Ve libphp5.so
- Apache'nin PHP'yi ayrıştırmak için kullandığı yolun yolunu ayarlayın, sonra Apache'yi yeniden başlatın ve iş başındasınız.
Örneğin, bir noktada PHP 5.3.5 çalıştıran bir Ubuntu 12.04 makinesinde kullanılmak üzere PHP versiyon 5.1.6'yı kaynaktan (GD kütüphane desteği ile) derlemek zorunda kaldım. Sunucunun PHP modülü yükleme dosyasındaki:
/etc/apache2/mods-available/php5.load
Bunun gibi çizgiler vardı:
# LoadModule php5_module /usr/lib/apache2/modules/libphp535.so
LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so
Bir satırın nasıl yorumlandığına libphp535.so
ve diğer satırın yorumlandığına dikkat edin libphp516-gd.so
? Benim yaptığım varsayılan PHP 5.3.5 değiştirildi olduğu libphp5.so
için Apache modülü libphp535.so
PHP 5.1.6 (GD kütüphanesi desteği ile) modülü adında o zaman orada referans için var ve bu yüzden adına sürüm numarasına sahip libphp516-gd.so
ne olduğunu biliyorum de öyle. Bu şekilde her ikisini de sistemde yan yana kullanabilirim.
Ve - başlangıçta söylediğim gibi - komut satırında kullanılan PHP sürümünün Apache PHP modülü ile hiçbir ilgisi yoktur. Böylece sistemde kullanıma hazır Apache PHP modüllerinin istediğiniz kadar farklı sürümüne sahip olabilirsiniz; bir yapılandırmayı ayarlayın ve Apache'yi yeniden başlatın ve Apache'nin belirtmesi gereken PHP sürümünü kullanmak için işinizde olmalısınız.