
открыть, глянуть
Установка зависимостей
В терминале выполняем команды:
Установка PHPBrew в system-wide environment
Для начала логинимся как root:
sudo -i
Выполняем команды:
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew chmod +x phpbrew mv phpbrew /usr/local/bin/phpbrew
Инициализируем PHPBrew:
phpbrew init
Редактируем ~/.phpbrew/init:
nano ~/.phpbrew/init
Вставляем следующие строки:
# Export PHPBrew paths.
export PHPBREW_ROOT=/opt/phpbrew
export PHPBREW_HOME=/root/.phpbrew
Выполняем команду:
. ~/.phpbrew/bashrc
Устанавливаем system-wide PHP(s):
Копируем ~/.phpbrew/bashrc в /opt/phpbrew/bashrc:
cp ~/.phpbrew/bashrc /opt/phpbrew/bashrc
Редактируем /etc/bash.bashrc:
nano /etc/bash.bashrc
Вставляем следующие строки:
# Export PHPBrew paths. export PHPBREW_ROOT=/opt/phpbrew export PHPBREW_HOME=$HOME/.phpbrew # PHPBrew difinitions. if [ -f /opt/phpbrew/bashrc ]; then . /opt/phpbrew/bashrc fi
В терминале выполняем команду:
. ~/.bashrc
Устанавливаем расширения для всех утснановленных PHP(s):
Конечно же не обязательно устанавливать каждую версию PHP. Устанавливайте только те версии, которые вам нужны.
Переключаем PHP версию:
phpbrew switch 5.6.21
Следующий шаг необязательный. Но если вы следовали всему, что написано и устанавливали php5 и php7, тогда необходимо отредактировать /etc/apache2/mods-available/php7.load:
nano /etc/apache2/mods-available/php7.load
И законментировать подключение php7:
#LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.6.so
Рестартуем apache2:
apachectl restart
Проверка установки PHP
Лучший способ проверить, что PHP установлен и работает - использовать phpinfo().
Выходим из под root. Удаляем ~/websites/index.html:
rm ~/websites/index.html
Далее создаем файл ~/websites/index.php:
echo " ~/websites/index.php
Открываем в браузере http://localhost и мы должны увидеть информационную страницу об PHP.
PHP Switcher Script
Для быстрого переключения php и рестарта Apache я написал скрипт.
Создаем директорию ~/bin/:
mkdir -p ~/bin/
Редактируем ~/bin/sphp:
nano ~/bin/sphp
Вставляем код скрипта:
Делаем скрипт исполняемым:
chmod +x ~/bin/sphp
Редактируем ~/.bash_aliases:
nano ~/.bash_aliases
Вставляем строку в конец файла:
alias sphp='. sphp'
Перезагружаемся. Проверяем, что PATH обновился:
echo $PATH
У меня результатом этой команды оказался такой вывод:
Об успешном обновлении говорит наличие подстроки /home/benya/bin.
Тест переключения PHP
После того, как все эти шаги выполнены, можно переключить версию PHP с помощью команды:
sphp 7.0.6
Открываем в браузере http://localhost и проверяем, что Apache теперь работает с PHP 7.0.6. Переключим версию PHP обратно на 5.6.21:
sphp 5.6.21
Открываем в браузере http://localhost и проверяем, что Apache теперь работает с PHP 5.6.21.
Не забываем, что для установки новых версий PHP или расширений с помощью PHPBrew необходимо залогинится под root.
Часто используемые команды PHPBrew
Список известных версий:
phpbrew known
Список вариантов:
phpbrew variants
Установка PHP с вариантом default:
phpbrew install 5.6 +default
Список установленных PHP версий:
phpbrew list
Настройка активной версии PHP:
phpbrew config
Временно переключиться на системный PHP (модуль Apache нужно переподключать вручную):
phpbrew off
Пермаментно переключиться на системный PHP (модуль Apache нужно переподключать вручную):
phpbrew switch-off
Удалить установленную сборку PHP (если PHP устанавливался с вариантом +apxs2, то модуль необходимо удалить вручную):
phpbrew remove php-5.6.21
Удалить установленную PHP версию и файлы настроек (если PHP устанавливался с вариантом +apxs2, то модуль необходимо удалить вручную):
phpbrew purge php-5.6.21
Расширения PHP(s)
Список локальных расширений:
phpbrew ext
Установка расширения для активной версии PHP:
phpbrew ext install xdebug
Отключение расширения для активной версии PHP:
phpbrew ext disable xdebug
Включение расширения для активной версии PHP:
phpbrew ext enable xdebug
Настройка расширения для активной версии PHP:
phpbrew ext config xdebug
Установленные PHP(s)
Установленные PHP(s) располагаются в /opt/phpbrew/php, например, php 5.6.21 находится в:
/opt/phpbrew/php/5.6.21/bin/php
Файл настроек php.ini находится в:
/opt/phpbrew/php/5.6.21/etc/php.ini
Настройки расширений лежат в:
/opt/phpbrew/php/5.6.21/var/db
/opt/phpbrew/php/5.6.21/var/db/xdebug.ini
/opt/phpbrew/php/5.6.21/var/db/apc.ini
/opt/phpbrew/php/5.6.21/var/db/memcache.ini
Команды для быстрого переключения между директориями
Переключиться в PHP var директорию:
phpbrew cd var
Переключиться в PHP etc директорию:
phpbrew cd etc
Переключиться в PHP build директорию:
phpbrew cd build
Переключиться в PHP dist директорию:
phpbrew cd dist
http://www.drupaler.by/lessons/ustanovka-i-nastroyka-phpbrew
Установка PHP 7 (для php-fpm) с помощью phpbrew + бенчмарки php 7
Установка Docker и использование нескольких версий php на сервере
Как запустить несколько версий PHP на одном сервере