php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #15036 PHP should be able to control module load order.
Submitted: 2002-01-14 22:14 UTC Modified: 2021-05-26 11:39 UTC
Votes:7
Avg. Score:3.7 ± 1.2
Reproduced:5 of 5 (100.0%)
Same Version:3 (60.0%)
Same OS:1 (20.0%)
From: yohgaki@php.net Assigned: krakjoe (profile)
Status: Closed Package: Dynamic loading
PHP Version: 4.1.0 or later OS: Any
Private report: No CVE-ID: None
 [2002-01-14 22:14 UTC] yohgaki@php.net
Reminder for module loading issue.
PHP should be able to control module load order with smart way to intialize module who has dependency correctly.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-01-15 01:23 UTC] derick@php.net
It's not a bug, but a feature request. Changing status and Category

Derick
 [2002-01-16 00:34 UTC] yohgaki@php.net
This is actually a bug from 4.1.0 :) It would be a feature request for 4.0.6 or less.

Fixing this will likely require API change, configuration file changes, etc. I think the bug should fixed before PHP5. Change category and status.

Problem Description:

PHP module loader does not take into account module dependency. Therefore, there are problems with session and related modules since 4.1.0. The cause is session was made an internal module and initilized at first while older versions initilize session module later.

Currently, session and related modules have this problem AFAIK. However, this proplem would be more serious issue when PECL module became a standard place for extensions. 

IMHO, it is important to discuss and fixing this problem ASAP.

(BTW, this issue is not only applicable to dynamic loading, but also static module init)
 [2010-12-03 17:51 UTC] jani@php.net
-Status: Open +Status: Closed -Package: Feature/Change Request +Package: *General Issues -Assigned To: +Assigned To: jani
 [2010-12-03 17:51 UTC] jani@php.net
This has been fixed in 5.x, if it doesn't work, open new report for the specific issue.
 [2010-12-03 17:51 UTC] jani@php.net
-Package: *General Issues +Package: Dynamic loading
 [2010-12-03 17:56 UTC] pajoye@php.net
-Status: Closed +Status: Re-Opened
 [2010-12-03 17:56 UTC] pajoye@php.net
Build deps are fixed, not ext dependencies. Loading order works, manually ordering it in php.ini.
 [2010-12-03 18:00 UTC] pajoye@php.net
-Status: Re-Opened +Status: Assigned -Assigned To: jani +Assigned To: pajoye
 [2010-12-03 18:00 UTC] pajoye@php.net
"18<Jani> ZEND_API int zend_startup_module_ex(zend_module_entry *module TSRMLS_DC) /* {{{ */
18<Jani> See that one and look for 'module->deps'"

Will take a look and see if it actually works, on all platforms :)
 [2017-10-23 00:02 UTC] kalle@php.net
-Status: Assigned +Status: Open -Assigned To: pajoye +Assigned To:
 [2021-05-26 11:39 UTC] krakjoe@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: krakjoe
 [2021-05-26 11:39 UTC] krakjoe@php.net
Load module procedure will now check deps, as previously noted. However, it will not try to automatically load, and I don't think it should: It will complicate loading for an edge case when that edge case can be solved in configuration. 

That the procedure errors on unmet dependencies gives you some hints about the expected format of the configuration file, and that would seem to be enough.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 17:01:30 2024 UTC