Page MenuHomeDevCentral

Install PHP 7 on Ysul and enable it on php-fpm-prod
Closed, ResolvedPublic

Description

BranchService nameSource
5.6php-fpm-legacypackage
7.1php-fpm-prod/opt/php
7.2php-fpm-dev/opt/php-devel

Event Timeline

dereckson triaged this task as Wishlist priority.Jul 6 2015, 10:23
dereckson added a project: Servers.

Configure result

configure: WARNING: unrecognized options: --with-t1lib, --with-regex, --with-zend-vm

./configure line
I've used the previous PHP 5.6 /opt configuration line to test the build process' backward compatibility:

./configure --enable-libxml --enable-mysqlnd --with-mysqli --with-libxml-dir=/usr/local --with-pcre-regex=/usr/local --with-zlib-dir=/usr --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --with-gd --with-freetype-dir --with-t1lib -enable-gd-native-ttf --with-ldap --with-ldap-sasl --enable-mbstring --with-mcrypt --enable-soap --enable-sockets --with-tidy --enable-wddx --enable-zip --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-regex=php --with-zend-vm=CALL --prefix=/opt/php

Compiled.

$ make test
=====================================================================
PHP         : /home/dereckson/src/PHP/php-7.0.0beta1/sapi/cli/php 
PHP_SAPI    : cli
PHP_VERSION : 7.0.0beta1
ZEND_VERSION: 3.0.0-dev
PHP_OS      : FreeBSD - FreeBSD ysul.nasqueron.org 10.1-RELEASE-p6 FreeBSD 10.1-RELEASE-p6 #0: Tue Feb 24 19:00:21 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
INI actual  : /usr/home/dereckson/src/PHP/php-7.0.0beta1/tmp-php.ini
More .INIs  :  
CWD         : /usr/home/dereckson/src/PHP/php-7.0.0beta1
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
[...]

Pending tests, I've installed it, it's ready to use for CLI, CGI, or php -S.

$ make install
Installing shared extensions:     /opt/php/lib/php/extensions/no-debug-non-zts-20141001/

Installing PHP CLI binary:        /opt/php/bin/
Installing PHP CLI man page:      /opt/php/php/man/man1/

Installing PHP FPM binary:        /opt/php/sbin/
Installing PHP FPM config:        /opt/php/etc/
Installing PHP FPM man page:      /opt/php/php/man/man8/
Installing PHP FPM status page:      /opt/php/php/php/fpm/

Installing PHP CGI binary:        /opt/php/bin/

Installing build environment:     /opt/php/lib/php/build/
Installing header files:          /opt/php/include/php/
Installing helper programs:       /opt/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /opt/php/php/man/man1/
  page: phpize.1
  page: php-config.1

Installing PEAR environment:      /opt/php/lib/php/

Warning: Declaration of PEAR_Installer::download($packages, $options, &$config, &$installpackages, &$errors, $installed = false, $willinstall = false, $state = false) s
hould be compatible with & PEAR_Downloader::download($params) in phar:///usr/home/dereckson/src/PHP/php-7.0.0beta1/pear/install-pear-nozlib.phar/PEAR/Installer.php on l
ine 42

Warning: Declaration of & PEAR_PackageFile_Parser_v2::parse($data, $file, $archive = false, $class = 'PEAR_Packa...') should be compatible with PEAR_XMLParser::parse($d
ata) in phar:///usr/home/dereckson/src/PHP/php-7.0.0beta1/pear/install-pear-nozlib.phar/PEAR/PackageFile/Parser/v2.php on line 112
[PEAR] Archive_Tar    - installed: 1.3.16
[PEAR] Console_Getopt - installed: 1.4.0

Warning: Declaration of PEAR_Task_Replace::init($xml, $attribs) should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///usr/hom
e/dereckson/src/PHP/php-7.0.0beta1/pear/install-pear-nozlib.phar/PEAR/Task/Replace.php on line 30
[PEAR] Structures_Graph- installed: 1.1.0
[PEAR] XML_Util       - installed: 1.3.0

Warning: Declaration of PEAR_Task_Windowseol::init($xml, $attribs) should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///usr/
home/dereckson/src/PHP/php-7.0.0beta1/pear/install-pear-nozlib.phar/PEAR/Task/Windowseol.php on line 80

Warning: Declaration of PEAR_Task_Unixeol::init($xml, $attribs) should be compatible with PEAR_Task_Common::init($xml, $fileAttributes, $lastVersion) in phar:///usr/hom
e/dereckson/src/PHP/php-7.0.0beta1/pear/install-pear-nozlib.phar/PEAR/Task/Unixeol.php on line 79
warning: pear/PEAR dependency package "pear/Structures_Graph" installed version 1.1.0 is not the recommended version 1.0.4
warning: pear/PEAR dependency package "pear/XML_Util" installed version 1.3.0 is not the recommended version 1.2.3
[PEAR] PEAR           - installed: 1.9.5
Wrote PEAR system config file at: /opt/php/etc/pear.conf

You may want to add: /opt/php/lib/php to your php.ini include_path
/home/dereckson/src/PHP/php-7.0.0beta1/build/shtool install -c ext/phar/phar.phar /opt/php/bin
ln -s -f phar.phar /opt/php/bin/phar

Installing PDO headers:          /opt/php/include/php/ext/pdo/

Tests stucks at TEST 12248/12267 [sapi/fpm/tests/002.phpt].

Results of the first 12247 tests available at

:

  • 11086 PASS
  • 50 FAIL
  • 1111 SKIP

List of the failed tests: P99

This task has been identified as suitable for the December product backlog for infrastructure. It's included in our product backlog and will be discussed for inclusion to sprint backlog this E3 meeting.

I'm compiling PHP 7.1.0 on Ysul.

Goal is to set three pools:

  • legacy: last php56- version (currently 5.6.29)
  • prod: 7.1.0, with production php.ini settings
  • dev: upcoming 7.2 branch, with debug php.ini settings

Then, we move all the current pools from prod to legacy.

And any site to migrate to PHP 7.1 back to prod.

Compiled and already available at CLI.

Ysul
$ php7 -v
PHP 7.1.0 (cli) (built: Dec 20 2016 13:43:07) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

Tests results for PHP itself available at P226.

PHP 5.6 is well served by php-pfm-legacy, so this can become the new prod.

dereckson renamed this task from Install PHP 7 on Ysul and enable it on php-fpm-dev to Install PHP 7 on Ysul and enable it on php-fpm-prod.Dec 22 2016, 01:59
dereckson raised the priority of this task from Wishlist to High.
dereckson updated the task description. (Show Details)