Jawaban yang lebih pendek.
Jangan panik! Jika Anda khawatir tentang versi PHP yang digunakan server Apache Anda, output dari phpinfo()
selalu apa yang harus Anda perhatikan. Modul Apache PHP dan binary baris perintah PHP adalah dua hal berbeda yang tidak saling mengganggu.
Bahkan Anda dapat mengkompilasi dan memuat berbagai versi PHP yang ingin Anda gunakan dengan Apache selama Anda menyesuaikan Apache untuk memuatnya dengan benar. Antarmuka baris perintah PHP tidak akan pernah berperan dalam kasus parsing halaman PHP Apache.
Versi baris perintah PHP hanya ada untuk tugas-tugas khusus baris perintah dan modul PHP untuk Apache tidak akan pernah menyentuh, menggunakan atau membutuhkannya.
Jawaban yang lebih panjang.
Anda mengatakan ini:
Saya ingin tahu php
versi mana yang saya gunakan jadi saya menulis skrip standar:
phpinfo();
Yang memberi saya PHP versi 5.6.10- versi PHP yang benar diperlukan untuk aplikasi saya. Ketika saya mencoba di terminal:
php -i or php -v
Ini menunjukkan kepada saya PHP versi 5.3.2 yang tidak saya butuhkan.
Versi PHP yang tersedia dari baris perintah tidak ada hubungannya dengan versi PHP yang dimuat sebagai modul. Ini adalah hal-hal yang sepenuhnya terpisah.
Jadi jika Anda khawatir tentang versi PHP yang digunakan aplikasi web Anda, jika phpinfo()
menunjukkan versi 5.6.10 dan itulah yang Anda inginkan / butuhkan, itu 100% baik.
Versi baris perintah PHP adalah item sistem yang sepenuhnya terpisah. Jadi satu-satunya hal yang penting adalah hasil dariphpinfo()
.
Jika karena alasan tertentu Anda ingin menggunakan versi PHP yang berbeda dengan Apache, yang perlu Anda lakukan adalah menginstal modul PHP Apache yang dikompilasi di suatu tempat dan menambahkan — atau menyesuaikan — baris ini dalam konfigurasi Apache sistem Anda:
LoadModule php5_module /path/to/php/and/the/module/for/apache2/libphp5.so
Dan sesuaikan saja jalan ke libphp5.so
— yang digunakan Apache untuk mem-parsing PHP — kemudian restart Apache dan Anda berada dalam bisnis.
Sebagai contoh, pada satu titik saya harus mengkompilasi versi PHP 5.1.6 dari sumber (dengan dukungan GD library) untuk digunakan pada mesin Ubuntu 12.04 yang menjalankan PHP 5.3.5. Dalam file server memuat modul PHP di sini:
/etc/apache2/mods-available/php5.load
Saya memiliki garis seperti ini:
# LoadModule php5_module /usr/lib/apache2/modules/libphp535.so
LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so
Perhatikan bagaimana satu baris dikomentari libphp535.so
dan yang lainnya untuk libphp516-gd.so
tidak diomortasikan? Apa yang saya lakukan adalah saya mengganti nama libphp5.so
modul Apache PHP 5.3.5 default menjadi libphp535.so
dengan nomor versi dalam nama sehingga saya bisa memilikinya di sana untuk referensi dan kemudian menamai modul PHP 5.1.6 (dengan dukungan perpustakaan GD) libphp516-gd.so
jadi saya tahu apa itu juga. Dengan cara ini saya memiliki keduanya tersedia untuk saya berdampingan pada sistem.
Dan — seperti yang saya katakan di awal — versi PHP yang digunakan dalam baris perintah sama sekali tidak ada hubungannya dengan modul Apache PHP. Jadi Anda dapat memiliki sejumlah versi berbeda dari modul-modul Apache PHP yang siap digunakan; cukup sesuaikan konfigurasi dan mulai ulang Apache dan Anda harus menjalankan bisnis untuk menggunakan versi PHP apa pun yang Anda tentukan untuk digunakan oleh Apache.