Статьи

Помогите разработать PHP: 5.6 RC1 на усадьбе

На прошлой неделе мы говорили о Laravel Homestead, подготовленной локальной среде разработки для PHP, построенной на Vagrant Тейлором Отвеллом, призванной служить общей отправной точкой для всех проектов Laravel (и, возможно, других PHP). Если вы пропустили этот пост, я рекомендую вам прочитать его и ознакомиться с Homestead в качестве следующей стартовой среды.

За неделю до этого мы говорили об окончании бета-версии для 5.6 и начале программы RC. Команда разработчиков ядра PHP поощряет людей поиграть и протестировать RC-версии, а также предоставить им обратную связь по сборке, чтобы они могли собрать некоторую статистику использования и возможные ошибки сборки для исправления в следующем выпуске. PHP 5.6 RC1 был выпущен несколько дней назад и может быть загружен .

В этом посте мы кратко рассмотрим, как мы можем установить его поверх обычного PHP в Laravel Homestead, и сообщим отзывы о сборке обратно на сайт QA.

Настроить

Чтобы подготовиться, пожалуйста, прочитайте оригинальную статью Homestead и следуйте ей до буквы, пока у вас не заработает работающая виртуальная машина.

Затем вставьте SSH в вашу виртуальную vagrant ssh запустив vagrant ssh . Попав внутрь, загрузите последний источник через wget, вот так:

 wget http : //downloads.php.net/tyrael/php-5.6.0RC1.tar.bz2 

В зависимости от того, когда вы читаете это, ссылка может отличаться из-за того, что другие RC уже отсутствуют. Затем распакуйте загруженный архив и измените каталог на вновь созданный.

 tar xvfj php - 5.6 . 0RC1.tar . bz2 cd php - 5.6 . 0RC1 

Предпосылки

Чтобы построить PHP из исходного кода в его самой простой форме, есть одна зависимость, которая нам абсолютно необходима. Запустите следующую команду:

 sudo apt - get  install libxml2 libxml2 - dev 

Возможно, вам придется запустить sudo apt-get update если вы получите сообщение об ошибке относительно IP-адреса, с которого Aptitude пытается извлечь libxml2-dev. Затем повторите команду выше (см. Рисунок ниже). Далее запустите:

 ./ configure -- enable - fpm 

Нам нужно включить FPM, потому что Homestead PHP построен как FPM, а Nginx использует его как таковой. Если мы хотим заменить установленный Homestead PHP своим собственным, нам нужно включить -fpm перед компиляцией.

Компиляция и тестирование

Чтобы скомпилировать PHP из исходного кода после запуска команды configure, мы запускаем

 make 

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

После завершения процесса компиляции выполните:

 make test 

Эта команда будет запускать тесты для скомпилированного PHP и может занять некоторое время в зависимости от значений конфигурации и мощности вашей виртуальной машины и хост-компьютера. Все основные функциональные возможности PHP будут протестированы и по окончании будут отправлены в штаб-квартиру, если вы того пожелаете — пожалуйста, сделайте так, эти отчеты помогут основной группе разработчиков точно определить проблемы до того, как они возникнут в рабочих выпусках. Процесс отправки является ненадежным, и при указании вашего адреса электронной почты нет диалогового окна подтверждения, поэтому будьте осторожны, чтобы написать его правильно в первый и единственный раз — см. Рисунок ниже.

Установка

Установить скомпилированный PHP так же просто, как запустить

 sudo make install 

после чего все необходимые двоичные файлы должны быть скопированы в соответствующие папки. Есть еще один последний шаг, который вы должны сделать, прежде чем новый PHP активируется — перезапустите PHP-FPM. Это делается с помощью:

 sudo / etc / init . d / php5 - fpm restart 

Запуск php --version теперь должен дать следующий результат:

Другие способы помочь

Хотя сборка и установка RC1 в Homestead была сугубо «эгоистичной», то есть мы можем использовать ее и поиграть с ней, но мы можем еще больше повысить самоотверженность, предоставляя отчеты об испытаниях с других платформ и с другими значениями конфигурации , тоже.

Например, взгляните на различные значения конфигурации, которые вы можете изменить для создания разных скомпилированных версий PHP, а затем отправьте результаты теста этих итераций. Попробуйте загрузить другую ОС на другой виртуальной машине, а не на Homestead, и установите там RC1 — они ищут результаты тестирования для разных операционных систем, от Windows до CentOS и других.

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