Установка нескольких версий php ubuntu

Одновременная работа нескольких версий PHP на сервере Debian/Ubuntu

Речь в заметке пойдёт о модуле PHP7, покдлюченном как модуль апача на всём сервере, и PHP5.6, подключенном как PHP-CGI у нужных сайтов.

И речь пойдёт не о быстрой смене версии php на всём сервере, а именно о том, чтобы, например, все сайты на сервере работали с PHP7, а один или несколько, например с PHP5.

Скачиваем исходники PHP нужной версии, распаковываем и переходим в папку с ними

Собираем нужную версию php

Компилируем php тремя коммандами:

Во время конфигурирования скорее всего будут ошибки. Они по большей части свидетельствуют о отсутствующих пакетах на сервере. Названия недостающих легко гугляться.

Копируем получившийся бинарник

Файл /usr/local/bin/php-cgi надо переименовать и положить по пути /usr/lib/cgi-bin/php5

Настраиваем нужный VirtualHost апача для работы с нашим бинарником

Ну и самое главное — это заставить нужный хост не работать как модуль апача. Скажу честно, на поиск решения я потратил не мало времени.

Эти строчки нужно добавить в нужный VirtualHost

Нюансы и возможные проблемы

Не включен модуль апача actions. Включаем:

Также должен быть включен конфиг апача serve-cgi-bin

Похожие записи

Сравнение скорости связок Apache + mod-php и Nginx + php-fpm

В декабре того года сменил связку Apache + mod-php (на своём сервере) на связку Nginx + php-fpm, чему несказанно рад. Сайты, даже визуально, стали откликаться быстрее. До и после переезда на примере своего блога замерил скорость генерации страницы, отдачи статики сервером, потребление памяти (php7) и т.д. Под катом немного сравнительных цифр.

PHP. Первый и последний день квартала с помощью класса \DateTime

1С-Битрикс. Выключение попытки авторизации на сайте по логину и паролю базовой http-авторизации

Когда на сайте используется базовая http-авторизация, то после ввода верных данных и успешной авторизации битрикс пытается по этим же данным авторизовать вас и на самом сайте. И если учётки в битриксе с такими параметрами нет, то на страницах, где есть вызов компонента формы авторизации будет всегда красоваться сообщение об ошибке «Неверный логин или пароль».

Подробности, как убрать надоедливое сообщение — под катом.

19 комментариев

Большое спасибо! очень выручило это решение. Всё отлично работает!

P.S. от себя могу добавить, что пунктик «Копируем получившийся бинарник» я для себя заменил на «делаею симлинк».

Ссылка для wget неправильная. Покатит, например, такой вариант http://ua2.php.net/get/php-5.6.28.tar.gz/from/this/mirror

А, гоню. Правильная ссылка.

Ну и, собственно, у меня всё закончилось ошибкой

The requested URL /cgi-bin/php5/phpinfo.php was not found on this server

во что переименовать бинарник?

Ну и, собственно, у меня всё закончилось ошибкой The requested URL /cgi-bin/php5/phpinfo.php was not found on this server

значит мод CGI не включен. Попробуйте: a2enmod cgi sevice apache2 restart

Здравствуйте! У меня такая же проблема. Ошибка The requested URL /cgi-bin/php5/phpinfo.php was not found on this server. В гугле ничего не нашел, говорят, что на centos7 apache mod_cgi уже включен. Помогите, пожалуйста.

Тоже ошибка The requested URL /cgi-bin/php5/phpinfo.php was not found on this server. Гугл говорит, что в centos7 mod_cgi уже включен. Помогите разобраться, пожалуйста!

Ошибки при этом какие-то есть?

При вводе команды make, выдает:

Не заданы цели и не найден make-файл. Останов.

Установил до этого VestaCP с php 7, MySQL, Apache и phpMyAdmin (LAMP-сервер)

При это первая команда отрабатывает без ошибок?

По-моему, она в конце напишет, всего ли хватает.

sudo apt-get install libxml2-dev

«Файл /usr/local/bin/php-cgi надо переименовать и положить по пути /usr/lib/cgi-bin/php5»

Источник

Установка нескольких версий PHP на Ubuntu 18.04.3 LTS

Table of contents

Introduction

В данной статье мы установим несколько версий PHP на наш сервер Ubuntu 18.04.3 LTS и рассмотрим команды для переключения между версиями.

Начнем с обновления пакетов:

Установка версии PHP, которая идет по умолчанию

Проверим версию PHP :

В процессе установки также были поставлены следующие пакеты:

ПакетОписание
php7.2server-side, HTML-embedded scripting language (metapackage)
php7.2-clicommand-line interpreter for the PHP scripting language
php7.2-commondocumentation, examples and common module for PHP
php7.2-jsonJSON module for PHP
php7.2-opcacheZend OpCache module for PHP
php7.2-readlinereadline module for PHP

Установим наиболее распространенные модули для PHP :

ПакетОписание
libapache2-mod-php7.2server-side, HTML-embedded scripting language (Apache 2 module)
php-pearPEAR Base System
php7.2-curlCURL module for PHP
php7.2-devFiles for PHP7.2 module development
php7.2-fpmserver-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gdGD module for PHP
php7.2-mbstringMBSTRING module for PHP
php7.2-mysqlMySQL module for PHP
php7.2-xmlDOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-zipZip module for PHP

Посмотреть все установленные PHP пакеты можно командой:

Установка другой версии PHP

Теперь добавим репозиторий:

Обновим список пакетов:

После того, как, мы добавили репозиторий, перейдем к установке PHP 7.3 :

Были поставлены следующие пакеты:

ПакетОписание
libapache2-mod-php7.3server-side, HTML-embedded scripting language (Apache 2 module)
php7.3server-side, HTML-embedded scripting language (metapackage)
php7.3-clicommand-line interpreter for the PHP scripting language
php7.3-commondocumentation, examples and common module for PHP
php7.3-jsonJSON module for PHP
php7.3-opcacheZend OpCache module for PHP
php7.3-readlinereadline module for PHP

Установим дополнительные модули для PHP :

Проверим версию PHP:

Переключение между версиями PHP

Переключение происходит следующей командой:

Источник

Запуск нескольких версий PHP на одном сервере с помощью Apache и PHP-FPM в Ubuntu 18.04

Веб-сервер Apache использует виртуальные хосты для управления несколькими доменами в рамках одного сервера. Точно так же для управления несколькими версиями PHP в рамках одного сервера PHP-FPM использует специальный демон. Объединив эти возможности Apache и PHP-FPM, вы можете одновременно разместить на одном сервере несколько веб-приложений PHP, каждое из которых будет использовать индивидуальную версию PHP. Это удобно, потому что для разных приложений могут потребоваться разные версии PHP, но обычно серверные стеки (например, стандартный LAMP) могут управлять только одной версией. Сочетание Apache с PHP-FPM – экономное решение, ведь вам не придется размещать каждое приложение на отдельном сервере.

PHP-FPM также предлагает параметры для логирования stderr и stdout, аварийных перезапусков и адаптивного порождения процессов, что полезно для сайтов с высоким трафиком. Фактически связка Apache+PHP-FPM – один из лучших стеков для размещения приложений PHP, особенно когда дело касается производительности.

В этом мануале мы покажем, как запустить два сайта PHP на одном сервере. Каждый сайт будет использовать свой собственный домен, каждый домен будет развертывать свою собственную версию PHP. Первый, site1.your_domain, использует PHP 7.0; второй, site2.your_domain, использует версию PHP 7.2.

Требования

1: Установка PHP 7.0 и PHP 7.2

Выполнив предварительные требования к мануалу, мы можем установить PHP версий 7.0 и 7.2, а также PHP-FPM и несколько дополнительных расширений. Для начала нам необходимо включить репозиторий Ondrej PHP.

Прежде чем добавить репозиторий в свою систему, установите software-properties-common:

Этот пакет предоставляет команду apt-add-repository, с помощью которой вы сможете добавить PPA-репозиторий ondrej/php.

Теперь добавьте репозиторий ondrej/php в вашу систему. Этот PPA содержит более современные версии PHP, чем официальные репозитории Ubuntu, а также позволит вам установить несколько версий PHP в одной системе.

sudo add-apt-repository ppa:ondrej/php

Затем установите php7.0, php7.0-fpm, php7.0-mysql, libapache2-mod-php7.0 и libapache2-mod-fcgid с помощью следующей команды:

Теперь повторите весь процесс для PHP версии 7.2. Установите php7.2, php7.2-fpm, php7.2-mysql и libapache2-mod-php7.2:

После установки обеих версий PHP запустите сервис php7.0-fpm:

sudo systemctl start php7.0-fpm

Затем проверьте статус этого сервиса с помощью следующей команды:

sudo systemctl status php7.0-fpm

Вы увидите следующий результат:

Повторите этот процесс для версии 7.2; запустите сервис php7.2-fpm:

sudo systemctl start php7.2-fpm

А затем проверьте состояние сервиса с помощью следующей команды:

sudo systemctl status php7.2-fpm

Вы увидите следующий результат:

В заключение вам нужно включить пару модулей, чтобы сервис Apache2 мог поддерживать несколько версий PHP одновременно:

sudo a2enmod actions fcgid alias proxy_fcgi

Теперь перезапустите Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

Теперь на вашем сервере есть две версии PHP. После этого мы можем создать структуру каталогов для каждого сайта, который должен обслуживаться этим сервером.

2: Создание структуры каталогов для сайтов

Теперь мы создадим корневые каталоги для каждого сайта, который будет развернут на этом сервере. В нашем мануале мы развернем 2 сайта: site1.your_domain и site2.your_domain. Создавая каталоги, укажите домены ваших сайтов.

sudo mkdir /var/www/site1.your_domain
sudo mkdir /var/www/site2.your_domain

По умолчанию веб-сервер Apache запускается как пользователь и группа www-data. Чтобы убедиться, что права собственности и доступа на корневые каталоги сайтов установлены верно, выполните следующие команды:

Затем внутри каждого корневого каталога мы создадим файл info.php. Позже он поможет нам отобразить информацию о версии PHP каждого веб-сайта. Начните с site1:

sudo nano /var/www/site1.your_domain/info.php

Добавьте в файл следующую строку:

Сохраните и закройте файл. Теперь скопируйте созданный вами файл info.php для site2:

sudo cp /var/www/site1.your_domain/info.php /var/www/site2.your_domain/info.php

Теперь у вас есть корневые каталоги, необходимые каждому сайту для обслуживания данных. Затем мы настроим свой веб-сервер Apache для поддержки двух разных версий PHP.

3: Настройка Apache для поддержки двух сайтов

В этом разделе мы создадим два конфигурационных файла виртуального хоста. Это позволит двум веб-сайтам одновременно работать с двумя разными версиями PHP.

Чтобы Apache обслуживал этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо того чтобы редактировать стандартный виртуальный хост /etc/apache2/sites-available/000-default.conf, мы создадим два новых файла в каталоге /etc/apache2/sites-available/.

Сначала создайте конфигурационный файл виртуального хоста для сайта site1.your_domain. Здесь мы настроим Apache для обработки контента с помощью php7.0.

sudo nano /etc/apache2/sites-available/site1.your_domain.conf

Вставьте в файл такие строки. Убедитесь, что вы указали правильный путь к корневому каталогу, ServerName и версию PHP.

В DocumentRoot укажите путь к корневому каталогу вашего веб-сайта. В ServerAdmin укажите адрес электронной почты для администратора сайта your_domain. В директиве ServerName определяется URL-адрес первого поддомена. Директива SetHandler позволяет запускать PHP как процесс fastCGI.

Сохраните и закройте файл.

Затем создайте новый конфигурационный файл виртуального хоста для сайта site2.your_domain. Этот поддомен будет обслуживаться версией php7.2.

sudo nano /etc/apache2/sites-available/site2.your_domain.conf

Добавьте следующий код в файл. Убедитесь, что путь к корневому каталогу, ServerName и версия PHP соответствуют вашей конфигурации.

Сохраните и закройте файл, когда закончите работу. Затем проверьте конфигурации Apache на наличие синтаксических ошибок с помощью следующей команды:

sudo apachectl configtest

Если ошибок нет, вы увидите вывод:

Теперь активируйте виртуальные хосты:

sudo a2ensite site1.your_domain
sudo a2ensite site2.your_domain

Отключите стандартный хост, в дальнейшем он нам не понадобится:

sudo a2dissite 000-default.conf

После этого можно перезапустить сервис Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

Теперь, когда мы настроили Apache для обслуживания каждого сайта, мы должны протестировать их, чтобы убедиться, что все работает правильно.

4: Тестирование настройки

Итак, мы уже настроили два веб-сайта, которые работают на двух разных версиях PHP. Давайте проверим результаты.

Откройте браузер и посетите оба сайта.

Вы увидите две страницы с информацией о PHP. Обратите внимание на заголовки этих страниц. На первой странице указано, что site1.your_domain использует PHP версии 7.0. Вторая страница сообщает, что site2.your_domain развернул PHP версии 7.2.

Теперь, когда вы проверили свои сайты, удалите файлы info.php. Они содержат конфиденциальную информацию о вашем сервере и доступны неавторизованным пользователям – следовательно, они представляют собой уязвимость системы безопасности. Чтобы удалить оба файла, выполните следующие команды:

Теперь у вас есть сервер Ubuntu 18.04, обслуживающий два веб-сайта с двумя разными версиями PHP.

Заключение

В этом мануале вы научились объединять виртуальные хосты и PHP-FPM для обслуживания нескольких веб-сайтов и нескольких версий PHP на одном сервере. Единственное практическое ограничение на количество сайтов PHP и версий PHP, которые может обрабатывать Apache, – это вычислительная мощность вашего экземпляра.

Здесь вы можете изучить более продвинутые функции PHP-FPM, такие как адаптивное порождение процессов или возможности логирования sdtout и stderr. Кроме того, теперь вы можете защитить свои сайты с помощью бесплатных сертификатов TLS/SSL от Let’s Encrypt.

Источник

Запуск нескольких версий PHP на одном сервере с использованием Apache и PHP-FPM в Ubuntu 18.04

Published on April 29, 2020

Автор выбрал COVID-19 Relief Fund для получения пожертвования в рамках программы Write for DOnations.

Введение

Веб-сервер Apache использует виртуальные хосты для управления несколькими доменами в одной системе. PHP-FPM использует демона для управления несколькими версиями PHP в одной системе. Вы можете использовать Apache и PHP-FPM для одновременного хостинга на одном сервере нескольких веб-приложений PHP на основе разных версий PHP. Эта возможность полезна, поскольку разным приложениям могут требоваться разные версии PHP, но некоторые серверные комплексы, в том числе стек LAMP в стандартной конфигурации, могут работать только с одной версией. Сочетание Apache с PHP-FPM более экономично по сравнению с хостингом каждого приложения на отдельном экземпляре сервера.

В этом обучающем руководстве мы настроим два сайта PHP для работы на одном экземпляре сервера. Каждый сайт будет использовать собственный домен, и на каждом домене будет использоваться собственная версия PHP. Первый сайт site1.your_domain развернет PHP 7.0. Второй сайт site2.your_domain развернет PHP 7.2.

Предварительные требования

Шаг 1 — Установка PHP версий 7.0 и 7.2 с помощью PHP-FPM

Запустите команду apt-get для установки software-properties-common :

После установки обеих версий PHP запустите службу php7.0-fpm :

Затем проверьте статус службы php7.0-fpm :

Вывод должен выглядеть так:

Повторите процедуру и запустите службу php7.2-fpm :

Проверьте статус службы php7.2-fpm :

Вывод должен выглядеть так:

В заключение необходимо активировать несколько модулей, чтобы служба Apache2 могла работать с несколькими версиями PHP:

actions используется для выполнения скриптов CGI на основе типа носителя или метода запроса.

alias позволяет создавать схемы разных деталей файловой системы хоста в дереве документов и для целей переадресации URL.

proxy_fcgi позволяет Apache перенаправлять запросы PHP-FPM.

Перезапустите службу Apache, чтобы применить изменения:

Мы установили на сервере две версии PHP. Теперь создадим структуру директорий для каждого сайта, который будем развертывать.

Шаг 2 — Создание структур директорий для обоих сайтов

В этом разделе мы создадим корневую директорию документов и страницу индекса для каждого из двух сайтов.

Вначале создайте корневые директории документов для site1.your_domain и site2.your_domain :

Далее вы создадите файл info.php в корневой директории каждого сайта. В нем будет отображаться информация о версии PHP для каждого сайта. Начнем с site1 :

Добавьте следующую строку:

Сохраните и закройте файл. Скопируйте созданный файл info.php в site2 :

Теперь на вашем веб-сервере должны иметься корневые директории документов, которые требуются каждому сайту для предоставления данных посетителям. Далее мы настроим веб-сервер Apache для работы с двумя разными версиями PHP.

Шаг 3 — Настройка Apache для обоих сайтов

В этом разделе мы создадим два файла конфигурации виртуального хоста. Это позволит двум нашим сайтам одновременно работать с двумя разными версиями PHP.

Добавьте в файл следующее: Убедитесь, что путь к директории сайта, имя сервера и версия PHP соответствуют вашей системе:

Сохраните и закройте файл.

Добавьте в файл следующее: Убедитесь, что путь к директории сайта, имя сервера и версия PHP соответствуют уникальным параметрам вашей системы:

Сохраните файл и закройте его после завершения. Проверьте файл конфигурации Apache на наличие синтаксических ошибок:

Вывод должен выглядеть так:

Активируйте оба файла конфигурации виртуального хоста:

Отключите сайт по умолчанию, поскольку он не потребуется:

Перезапустите службу Apache, чтобы применить изменения:

Мы настроили Apache для обслуживания каждого из сайтов и теперь протестируем их и убедимся, что на них работают правильные версии PHP.

Шаг 4 — Тестирование сайтов

Мы настроили два сайта для работы с двумя разными версиями PHP. Теперь проверим результаты.

Установка нескольких версий php ubuntuУстановка нескольких версий php ubuntu

Обратите внимание на заголовки. На первой странице указано, что на сайте site1.your_domain развернута версия PHP 7.0. На второй странице указано, что на сайте site2.your_domain развернута версия PHP 7.2.

Теперь у вас имеется один сервер Ubuntu 18.04, обслуживающий два сайта с двумя разными версиями PHP. Однако PHP-FPM можно применять и для других целей.

Заключение

Мы объединили виртуальные хосты и PHP-FPM для обслуживания нескольких сайтов и нескольких версий PHP на одном сервере. Количество сайтов PHP и версий PHP, которые может обслуживать ваш сервер Apache, зависит исключительно от вычислительной мощности вашего экземпляра.

Источник

PhpBrew. Менеджер версий PHP. (+ установка и использование в Ubuntu 13.10)

Лирическое №1

PHP неуклонно взрослеет и обзаводится различными полезными дополнениями и некоторые из них уже ну совсем как у старших (хотя слово «младших» во многих случаях подойдет лучше).

В этом ключе стоит, например, вспомнить такие замечательные вещи как менеджер зависимостей composer, встроенный веб-сервер, появление namespace’ов и замыканий.

Сложилось так, что в качестве рабочей OS у меня установлена последняя версия Ubuntu (13.10). Долгое время я довольствовался последней стабильной версией PHP из репозиториев (видимо везло), но тут по работе пришел проект на 5.3 (а то и 5.2, но под 5.3 завелся), который никак не хотел стартовать на последней 5.5.3, что из официальных репозиториев и я было опечалился (уже имеется опыт установки неактуального PHP на Ubuntu, хоть и успешный, но весьма грустный), но потом вспомнил ruby и rvm.io и решил провести небольшое исследование. В итоге коллега подсказал озвученную в заголовке вещь.

Конец лирического. К фактам.

Если вкратце – единственное назначение phpbrew – возможность использовать разные версии PHP на одной машине. Быстро, просто, практически без танцев с народными музыкальными инструментами. (не продакшен, не параллельная работа, но мгновенное переключение между версиями при разработке).

Чтобы не растекаться мыслью по древу приведу (плохо) переведенную выдержку из официального readme:

phpbrew способен собрать и установить несколько различных версий PHP в домашнюю директорию текущего пользователя.
Также phpbrew помогает управлять переменными окружения – при помощи команд use и switch можно легко переключаться между версиями PHP.

Cтоит добавить что не умеет он автоматически интегрироваться в nginx.

Установка

1) Установить зависимости согласно официальному документу с requirements

Скорее всего вам не понадобятся ВСЕ эти зависимости, поэтому имеет смысл установить минимальный требуемый для сборки чистого PHP набор, а дальше ориентироваться на сообщения PHP’шого configure, который все равно будет вызываться для проверке соответствия системы требованиям.

2) Устанавливаем собственно phpbrew, все по той же инструкции

3) По-прежнему по инструкции, инициализация

После этого нужно закрыть и снова открыть консоль (ну или просто сделать logout/login, это по ситуации) чтобы новые команды в bashrc проинициализировались. Или самостоятельно запустить в консоли

Готово. Можно пользоваться.

Настройка

Информация из этого пункта также доступна в официальном readme. И часть ее в официальном гайде troubleshooting.

Покажет список доступных версий (есть версии и старше – для них к команде нужно добавить ключ –old)

Покажет список доступных вариантов для установки PHP. (по факту — расширения с которыми PHP будет собираться)
phpbrew install [version] [variants] установит PHP нужной версии с указанными расширениями. Варианты перечисляются через пробел, каждый начинается с “+”. Например команда:

Загрузит и соберет PHP 5.3.28 с базовым набором компонентов (различные zip, json, mbstring и прочее повседневно-утилитарное)

* стоит отметить что (скорее всего так у вас ничего не соберется, см. раздел Troubleshooting этой статьи.

Загрузит и соберет PHP 5.3.28 с базовым набором компонентов а также с icu и intl (intl вполне логично не соберется без ICU, а без intl почему-то не собирается PHP 5.3 на Ubuntu)

Тут лирическое №2, по поводу root:

Чтобы добавить автоматически собранный модуль для apache2 нужно команде phpbrew install передать вариант +apxs2. Но.
Проблема в том, что Apache и его модули находятся не в пользовательских директориях, а посему phpbrew просто не сможет свой модуль никуда положить и упадет при попытках сделать это.

Workaround’а два – оба вполне официально предложены автором в разделе coockbook и оба мне не нравятся:
1) Устанавливать phpbrew и все сопутствующие штуки не в домашнюю директорию, а system-wide (все почти так же, только под root) – получается что как-то противоречит изначальной идеологии проекта. Подробно расписан в coockbook.
2) Временно разрешить себе запись в нужные директории.Потом не забыть запретить обратно. Ну это просто как-то неправильно.

Для Ubuntu 13.10 и apache 2.4.6 нужными будут /usr/lib/apache2/modules/ и /etc/apache2/mods-available/

После этих подготовительных процедур таки ставим PHP 5.3.28 с базовым набором компонентов, с модулем apache, а также с icu и intl:

Теперь проверим, что получилось:

Перезагрузим apache2 и проверим его:

Установка нескольких версий php ubuntu

Добавим еще одну версию точно таким же способом:

Еще раз перезагрузим apache2 и проверим:

Установка нескольких версий php ubuntu

Все готово, осталось прибрать хвосты. Возвращаем доступы к системным директориям apache в нормальное состояние и передаем владение собранными модулями root’у (ну чтобы не выбивались из общего потока):

Установка расширений

Еще один момент — установка расширений. Все проще простого — phpbrew интегрирован с PEAR.
Просто используйте команду:

$ phpbrew ext install [extension_name]
И дальше phpbrew сделает все сам. Скачает расширение, соберет его и активирует для активной версии php. Например:

Переключение версий

Собственно далее, если нужно переключить версию CLI – используем phpbrew use [version] (или phpbrew switch [version]), если же нужно переключить версию для apache2 – ищем где у apache происходит загрузка нашего модуля (в случае Apache 2.4.6 и Ubuntu 13.10 это будет /etc/apache2/mods-available/php5.load (или симлинк в mods-enabled), открываем его любым текстовым редактором и в строчке (например):

меняем версию на нужную нам (и, конечно, установленную в системе, например)

Перезагружаем apache и:

Установка нескольких версий php ubuntu
(да, вы правы, на самом деле этот тот же самый скриншот, что и в первом случае, тем не менее он отражает объективную действительность.)

Альтернативы:

Помимо этого решения существуют еще (как минимум) phpenv и php-version. С ними предлагаю ознакомиться самостоятельно (буде возникнет такая необходимость)

Troubleshooting

В общем-то все есть в официальном гайде. Два момента, с которыми столкнулся лично:

1) Проверка config жалуется на отсутствующий libpcre.(a|so) и ничего не собирает под таким неблаговидным предлогом.

Это не проблема phpbrew, эта проблема лежит на стыке ubuntu и php — php и не пытается искать библиотеки по нестандартным путям, Ubuntu, зачем-то держит их в не совсем стандартном расположении.

К счастью phpbrew позволяет при помощи ключа — передавать в make дополнительные параметры. Вам остается только найти эти библиотеки и скормить их команде phpbrew install.

Для Ubuntu 13.10 (скорее всего для всех основанных на Debian дистрибутивов) реальная команда для установки php в варианте из статьи будет выглядеть так:

2) При сборке php 5.3 появляется ошибка вида:

Баг специфичный именно для 5.3. Просто добавьте к phpbrew install варианты «+icu +intl» (как и делается везде в рамках этой статьи).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *