короткий ответ.
не паникуйте! Если вас беспокоит, какую версию PHP использует ваш сервер Apache, выведите phpinfo()
всегда то, что вы должны обратить внимание. PHP-модуль Apache и PHP-двоичный файл командной строки - это две разные вещи, которые не мешают друг другу.
на самом деле вы можете компилировать и загружать различные версии PHP вы хотите работать с Apache до тех пор, как вы настроить Apache, чтобы правильно загрузить его. Интерфейс командной строки PHP никогда не вступит в игру в случае разбора страниц PHP Apache.
в командной строке PHP-это просто для конкретных заданий командования линии и модуль PHP для Apache не трогать, использовать или нужно.
более подробный ответ.
вы говорите:
я хотел знать, какой php
версия, которую я использую, поэтому я написал
стандартный скрипт:
phpinfo();
что дает мне версию PHP 5.6.10-the правильно необходима версия PHP
для моего приложения. Когда я попробовал в терминале:
php -i or php -v
он показывает мне версию PHP 5.3.2, которая мне не нужна.
версия PHP из командной строки уже 100% ничего общего с версии PHP загружен как модуль. Это совершенно разные вещи.
так что если вы обеспокоены тем, какую версию PHP использует ваше веб-приложение, если phpinfo()
показывает версию 5.6.10 и это то, что вам нужно/нужно, это 100% нормально.
версия PHP для командной строки является отдельным системным элементом. Так что единственное, что имеет значение, это вывод phpinfo()
.
если по какой-то причине вы хотите использовать другую версию PHP с Apache, все, что вам нужно сделать, это установить скомпилированный модуль Apache PHP где-то и добавить или настроить эту строку в конфигурации 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. Так что вы можете иметь любое количество различных версий из Apache PHP модулей, сидящих на системе готовы пойти; просто настроить конфигурацию и перезапустить Apache, и вы должны быть все в бизнесе, чтобы использовать любую версию PHP вы указали Apache должен использовать.