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 >