Коротка відповідь.
Не панікуйте! Якщо ви стурбовані тим, яку версію PHP ваш сервер Apache використовує, вивести phpinfo()
завжди на що слід звернути увагу. Модуль Apache PHP і двійковий файл командного рядка PHP - це дві різні речі, які не заважають один одному.
Насправді ви можете скомпілювати і завантажувати різні версії PHP, які ви хочете працювати з Apache, доки ви налаштуєте Apache на правильне завантаження. Інтерфейс командного рядка PHP ніколи не вступатиме в гру у випадку розбору PHP-сторінок Apache.
Версія командного рядка PHP просто існує для конкретних завдань командного рядка, а модуль PHP для Apache ніколи не торкається, використовує або потребує цього.
Більше відповідь.
Ви говорите це:
Я хотів знати, який php
версію я використовую, тому я написав
стандартний сценарій:
phpinfo();
Це дає мені PHP версію 5.6.10 правильно Потрібна версія PHP
для моєї програми. Коли я спробував у терміналі:
php -i or php -v
Він показує мені версію PHP 5.3.2, яка мені не потрібна.
Версія PHP, доступна з командного рядка, не має нічого спільного з версією PHP, завантаженої як модуль. Це цілком окремі речі.
Отже, якщо ви стурбовані тим, яку версію PHP використовує ваша веб-додаток, якщо phpinfo()
показує версію 5.6.10 і це те, що ви хочете / потрібно, що 100% штраф.
Версія командного рядка PHP є повністю окремим елементом системи. Отже, єдине, що має значення, - це вихід phpinfo()
.
Якщо з якоїсь причини ви хочете використовувати іншу версію PHP з Apache, все, що вам потрібно зробити, це інсталювати скомпільований PHP модуль Apache і додати або налаштувати цей рядок у конфігурації Apache у вашій системі:
LoadModule php5_module /path/to/php/and/the/module/for/apache2/libphp5.so
І просто налаштуйте шлях до libphp5.so
- це те, що Apache використовує для розбору PHP, - потім перезапустіть Apache, і ви перебуваєте в бізнесі.
Наприклад, в один момент мені довелося компілювати PHP версії 5.1.6 з джерела (з підтримкою бібліотеки GD) для використання на машині Ubuntu 12.04 під управлінням PHP 5.3.5. У завантажувальному файлі PHP-модуля сервера тут:
/etc/apache2/mods-available/php5.load
Я мав такі рядки:
# LoadModule php5_module /usr/lib/apache2/modules/libphp535.so
LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so
Зверніть увагу на те, як коментується один рядок libphp535.so
та інший для libphp516-gd.so
не розписано? Що я зробив, я перейменував стандартний PHP 5.3.5 libphp5.so
Модуль Apache для libphp535.so
з номером версії в назві, щоб я міг його знайти для посилання, а потім назвав модуль PHP 5.1.6 (з підтримкою бібліотеки GD) libphp516-gd.so
тому я знаю, що це таке. Таким чином, у мене є обидва доступні для мене сторони поряд з системою.
І, як я вже говорив з самого початку, версія PHP, яка використовується в командному рядку, абсолютно не пов'язана з модулем Apache PHP. Таким чином, ви можете мати будь-яку кількість різних версій модулів PHP Apache, які сидять у системі, готові до роботи; просто налаштуйте конфігурацію та перезапустіть Apache, і ви повинні бути в бізнесі, щоб використовувати будь-яку версію PHP, яку ви вказали Apache.