On Fri, Mar 1, 2013 at 12:49 PM, Kalle Sommer Nielsen <ka...@php.net> wrote:

> Hi
>
> 2013/3/1 Julien Pauli <jpa...@php.net>:
> > I guess the ini declaration order and then the order the modules get
> loaded
> > in the engine.
>
> We could also look at implementing a module-load-order internally in
> the zend_module struct, as in some extensions like EXIF relies on
> mbstring, while the ZEND_MODULE_DEP()s works fine for checking for
> mbstring, it does not work if mbstring is loaded after. So what I'm
> saying is that mbstring have a higher load order, meaning even though
> we have this in php.ini[1], PHP will load mbstring first because it
> has the lowest value (requiring it to start first), or giving exif a
> higher than 'normal' value (causing it to load after, as it is after
> all, exif that depends on mbstring, not the other way around).
>
> The same thing can be done with engine level extensions
> (zend_extension), where it probably would make more sense than for 90%
> of all 'php' extensions.
>
> [1]:
> extension=php_exif.dll
> extension=php_mbstring.dll
>

+1 , Some time ago when I first designed my first extensions studying the
Zend extension loading mechanism I thought about such a system and was
surprised not to find one into the engine.
It shouldn't be too hard to develop, except if you start thinking about
versions dependencies of the modules as well.

In the same pipe, I was thinking at some dlunload() function which would
enable unoloading modules at runtime, but that's another task, not very
trivial though.

 Julien

>
>
>
> --
> regards,
>
> Kalle Sommer Nielsen
> ka...@php.net
>

Reply via email to