Want to subscribe to topics you're interested in?
Become a Member

PHP PHP 7.3.0 alpha 1

Discussion in 'Nginx and PHP-FPM news & discussions' started by eva2000, Jun 8, 2018.

  1. eva2000

    eva2000 Administrator Staff Member

    39,199
    8,654
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,307
    Local Time:
    8:47 AM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    PHP: News Archive - 2018

    php/php-src
    php/php-src
    Continue reading...
     
  2. eva2000

    eva2000 Administrator Staff Member

    39,199
    8,654
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,307
    Local Time:
    8:47 AM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    work has started in Centmin Mod 123.09beta01 though not there yet for PHP 7.3.0 alpha 1 Beta Branch - update PHP 7.2+ argon/libsodium routine & prep PHP 7.3 alpha support

    seems Zend Opcache error might be related to specific Intel Xeon Gold Skylake cpu's AVX instructions for PHP 7.3.0alpha1

    Code (Text):
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c: In function ‘zend_accel_load_script’:
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c:662:2: error: unknown register name ‘%ymm1’ in ‘asm’
      __asm__ volatile (
      ^
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c:662:2: error: unknown register name ‘%ymm0’ in ‘asm’
    make: *** [ext/opcache/zend_accelerator_util_funcs.lo] Error 1
    --
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c: In function ‘zend_accel_load_script’:
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c:662:2: error: unknown register name ‘%ymm1’ in ‘asm’
      __asm__ volatile (
      ^
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c:662:2: error: unknown register name ‘%ymm0’ in ‘asm’
    make: *** [ext/opcache/zend_accelerator_util_funcs.lo] Error 1
    --
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c: In function ‘zend_accel_load_script’:
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c:662:2: error: unknown register name ‘%ymm1’ in ‘asm’
      __asm__ volatile (
      ^
    /svr-setup/php-7.3.0alpha1/ext/opcache/zend_accelerator_util_funcs.c:662:2: error: unknown register name ‘%ymm0’ in ‘asm’
    make: *** [ext/opcache/zend_accelerator_util_funcs.lo] Error 1
    


    tried on my Intel Xeon E3-1270v1 Sandy Bridge cpu and seems fine to compile with Zend Opcache but still results in segfault
    Code (Text):
    php -v
    PHP 7.3.0alpha1 (cli) (built: Jun  7 2018 23:04:56) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
        with Zend OPcache v7.3.0alpha1, Copyright (c) 1999-2018, by Zend Technologies
    Segmentation fault
    


    lets see if it's php extension related starting with centmin mod added ones
    Code (Text):
    php --ini
    Configuration File (php.ini) Path: /usr/local/lib
    Loaded Configuration File:         /usr/local/lib/php.ini
    Scan for additional .ini files in: /etc/centminmod/php.d
    Additional .ini files parsed:      /etc/centminmod/php.d/a_customphp.ini,
    /etc/centminmod/php.d/curlcainfo.ini,
    /etc/centminmod/php.d/geoip.ini,
    /etc/centminmod/php.d/igbinary.ini,
    /etc/centminmod/php.d/imagick.ini,
    /etc/centminmod/php.d/mailparse.ini,
    /etc/centminmod/php.d/mcrypt.ini,
    /etc/centminmod/php.d/redis.ini,
    /etc/centminmod/php.d/zendopcache.ini
    
    Segmentation fault
    

    doing to edit and comment out extension load lines for igbinary.ini, mailparse.ini, imagick.ini and redis.ini with semi-colon in front of the line and restart php-fpm
    Code (Text):
    grep -rn ';extension' /etc/centminmod/php.d
    /etc/centminmod/php.d/redis.ini:1:;extension=redis.so
    /etc/centminmod/php.d/mailparse.ini:1:;extension=mailparse.so
    /etc/centminmod/php.d/igbinary.ini:3:;extension=igbinary.so
    /etc/centminmod/php.d/imagick.ini:1:;extension=imagick.so
    

    restart php-fpm
    Code (Text):
    fpmrestart
    Gracefully shutting down php-fpm . done
    Starting php-fpm  done
    

    no segfault, so related to one of those commented out extensions not being PHP 7.3.0alpha1 compatible yet
    Code (Text):
    php -v
    PHP 7.3.0alpha1 (cli) (built: Jun  7 2018 23:04:56) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
        with Zend OPcache v7.3.0alpha1, Copyright (c) 1999-2018, by Zend Technologies
    

    lets start re-enabling commented out extensions to see which is one that causes segfaults

    re-enabled mailparse extension and yup segfault
    Code (Text):
    cat /etc/centminmod/php.d/mailparse.ini
    extension=mailparse.so
    

    Code (Text):
    fpmrestart
    Gracefully shutting down php-fpm  done
    Starting php-fpm /etc/init.d/php-fpm: line 65: 16729 Segmentation fault      $php_fpm_BIN --daemonize $php_opts
     failed
    

    re-enabled redis, igbinary and imagick and no segfaults so problem related to mailparse php extension compatibility with PHP 7.3.0alpha1
     
  3. eva2000

    eva2000 Administrator Staff Member

    39,199
    8,654
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,307
    Local Time:
    8:47 AM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    seems php memcached and memcache extensions showing issues too now on E3-1270v1 server
    Code (Text):
    /svr-setup/memcached-php7/php_memcached_session.c: In function ‘ps_open_memcached’:
    /svr-setup/memcached-php7/php_memcached_session.c:378:20: error: lvalue required as left operand of assignment
       GC_REFCOUNT(&le) = 1;
                        ^
    make: *** [php_memcached_session.lo] Error 1
    make: *** Waiting for unfinished jobs....
    /svr-setup/memcached-php7/php_memcached.c: In function ‘zim_Memcached___construct’:
    /svr-setup/memcached-php7/php_memcached.c:1282:20: error: lvalue required as left operand of assignment
       GC_REFCOUNT(&le) = 1;
                        ^
    make: *** [php_memcached.lo] Error 1
    /bin/sh /svr-setup/memcached-php7/libtool --mode=compile ccache /usr/bin/gcc -I/usr/local/include/php    -I. -I/svr-setup/memcached-php7 -DPHP_ATOM_INC -I/svr-setup/memcached-php7/include -I/svr-setup/memcached-php7/main -I/svr-setup/memcached-php7 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib   -c /svr-setup/memcached-php7/php_memcached.c -o php_memcached.lo 
     ccache /usr/bin/gcc -I/usr/local/include/php -I. -I/svr-setup/memcached-php7 -DPHP_ATOM_INC -I/svr-setup/memcached-php7/include -I/svr-setup/memcached-php7/main -I/svr-setup/memcached-php7 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -c /svr-setup/memcached-php7/php_memcached.c  -fPIC -DPIC -o .libs/php_memcached.o
    /svr-setup/memcached-php7/php_memcached.c: In function ‘zim_Memcached___construct’:
    /svr-setup/memcached-php7/php_memcached.c:1282:20: error: lvalue required as left operand of assignment
       GC_REFCOUNT(&le) = 1;
                        ^
    make: *** [php_memcached.lo] Error 1
    
     
  4. eva2000

    eva2000 Administrator Staff Member

    39,199
    8,654
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,307
    Local Time:
    8:47 AM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    PHP 7.3 bug list here
     
  5. eva2000

    eva2000 Administrator Staff Member

    39,199
    8,654
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,307
    Local Time:
    8:47 AM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    Updated 123.09beta01 with more updated memcached php extension code for PHP 7.3.0 alpha1 - seems I was using an older memcached php extension branch code !

    Code (Text):
    php -v
    PHP 7.3.0alpha1 (cli) (built: Jun  8 2018 18:56:50) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
    

    Code (Text):
    php --ri memcached
    
    memcached
    
    memcached support => enabled
    Version => 3.1.0-dev
    libmemcached version => 1.0.16
    SASL support => yes
    Session support => yes
    igbinary support => no
    json support => yes
    msgpack support => no
    
    Directive => Local Value => Master Value
    memcached.sess_locking => On => On
    memcached.sess_lock_wait_min => 1000 => 1000
    memcached.sess_lock_wait_max => 2000 => 2000
    memcached.sess_lock_retries => 5 => 5
    memcached.sess_lock_expire => 0 => 0
    memcached.sess_binary_protocol => Off => Off
    memcached.sess_consistent_hash => Off => Off
    memcached.sess_consistent_hash_type => ketama => ketama
    memcached.sess_number_of_replicas => 0 => 0
    memcached.sess_randomize_replica_read => Off => Off
    memcached.sess_remove_failed_servers => Off => Off
    memcached.sess_server_failure_limit => 0 => 0
    memcached.sess_connect_timeout => 3000 => 3000
    memcached.sess_sasl_username => no value => no value
    memcached.sess_sasl_password => no value => no value
    memcached.sess_persistent => Off => Off
    memcached.sess_prefix => memc.sess.key. => memc.sess.key.
    memcached.sess_lock_wait => not set => not set
    memcached.sess_lock_max_wait => not set => not set
    memcached.compression_type => fastlz => fastlz
    memcached.compression_factor => 1.3 => 1.3
    memcached.compression_threshold => 2000 => 2000
    memcached.serializer => php => php
    memcached.store_retry_count => 2 => 2
    memcached.default_consistent_hash => Off => Off
    memcached.default_binary_protocol => Off => Off
    memcached.default_connect_timeout => 0 => 0
    
     
  6. eva2000

    eva2000 Administrator Staff Member

    39,199
    8,654
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +13,307
    Local Time:
    8:47 AM
    Nginx 1.15.x
    MariaDB 5.5/10.x
    Updated 123.09beta01 with workaround for PHP 7.3 alpha compilation failures due to CentOS 7 GCC 4.8.5 and CentOS 6 GCC 4.4.7 compilers being too old or a bug in detecting newer cpus support for AVX instructions in newer cpus like Skylake or Broadwell. So workaround is if PHP 7.3 is detected, switch to newer GCC 7.3.1 which is already used for Nginx compiles
    Code (Text):
    php -v
    PHP 7.3.0alpha2 (cli) (built: Jun 22 2018 18:12:03) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
        with Zend OPcache v7.3.0alpha2, Copyright (c) 1999-2018, by Zend Technologies
    
     
..