Zeev Suraski wrote:

At 16:23 11/02/2004, Mehdi Achour wrote:

Stanislav Malyshev wrote:

PJ>> No it is not. And this discussion (sorry) is going to be silly. We
PJ>> are not talking about such things but the ability to load a module at
PJ>> runtime.
Concepts of modules differ. PHP is built, more or less, so that you write in PHP using existing language facilities, and aren't supposed to change the facilities from PHP. That's why dl() is problematic - it violates this principle.
PJ>> I want to use an extension in a specific script/part that should not
PJ>> be available in other parts. A common usage. Or only for one host but
PJ>> not the other?
I don't really see a reason why somebody would want to enable GD to one vritual server while denying it to the rest. What's the point in it - you don't save anything?


For example, let's take a hosting company (mine). Suppose we decide to buy the last version of IRCG. We'd like to provide it only for some customers (the ones who will pay to have it).


So why not put them on separate servers, or put them through CGI if you don't care about performance? Or maybe implement access restrictions within IRCG?


Because we care about performance. Plus, if we want to have the IRCG feature automatically added/deleted for a customer, the two separated servers isn't this good solution.
About implementing access restriction for IRCG.. I'm not sure we'd like to hack IRCG for each new version, or hack each extension that we provide this way (ircg is just an exemple)



Either way, what Andi said stands - fixing dl() means adding bloat, fixing and maintaining lots of bits and pieces of code in many different places, and it's something that we don't want to do, and said numerous times in the past that we have no intention of doing. In that sense, dl() is deprecated.

I'm okay with what Andi said, but maybe there's a better way to deprecate dl() (i.e. provides some replacements). For example, provide some htaccess directive that will be :


php_value extension_definition /path/to/some/file.ini

this file would contain the extension=foo; part of php.ini. I don't know if it's possible btw..

Mehdi Achour

PS : I don't have the skills to provide this replacement, so please avoid answering : "provide a patch or shut up". I was just giving my point of view :)

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to