Re: PHP 5.6 change proposal for F21

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Another small change which could happen in F21

Numeric prefix for configuration file.

Problem:

- in upstream PHP, extensions are load in any order with RTLD_LAZY (no
no symbol resolution required), then extensions are initialized in the
correct order (according to dependencies, included in extension
description internal structure).

- in our RPM, extension must be load in correct order (with RTLD_NOW,
all symbol must be satisfied at load time, for security reason).

For now, alphabetical order is used, but is sometime really messy...

Example:
	mysqlnd.ini
	mysqlnd_mysqli.ini
	mysqlnd_mysql.ini

	k-uopz.ini (to be loaded before opcache)

	z-event.ini     (after sockets)
	z-mailparse.ini (after mbstring)
	z-memcached.ini (after json, igbinary and msgpack)
	etc

Proposal (default rule)

Main PHP, for zend extensions (only opcache)
	10-foo.ini

Main PHP, for other extensions
	20-foo.ini

Pecl extensions
	30-foo.ini (if no dependency)

Notice : a pecl extension, without numerical prefix will be load after,
so should not raise any order issue.


Example:
	05-uopz.ini    (before opcache)
	10-opcache.ini (default rule)
	15-xdebug.ini  (after opcache)
	...
	20-mbstring.ini  (default)
	20-sockets.ini   (default)
	30-event.ini     (default pecl, after sockets)
	30-igbinary.ini  (default pecl)
	30-mailparse.ini (default pecl, and after mbstring)
	30-msgpack.ini   (default pecl)
	40-memcached.ini (after json, igbinary and msgpack)
	...

How to Find dependencies
>From sources:
   $ grep ZEND_MOD_ *.c *.h
   php_memcached.c:        ZEND_MOD_REQUIRED("session")
   php_memcached.c:        ZEND_MOD_REQUIRED("igbinary")
   php_memcached.c:        ZEND_MOD_REQUIRED("msgpack")
   php_memcached.c:        ZEND_MOD_REQUIRED("spl")

And also checked in the minimal load test (the more reliant):
   $ php -n -d extension=foo.so -m

Comments ?

Remi

_______________________________________________
php-devel mailing list
php-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/php-devel





[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora KDE]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux