Re: Mysqli support - test or complain? [SOLVED]

From: Date: Tue, 11 Dec 2007 12:00:12 +0000
Subject: Re: Mysqli support - test or complain? [SOLVED]
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.general 
Request: Send a blank email to php-general+get-265673@lists.php.net to get a copy of this message
Stut wrote: > Richard Heyes wrote: >>> You use a session variable for that? >> >> Why not? > > Because it's not user data, it's server data. > >>> That's entirely the wrong place to >>> store something like which database API is installed. >> >> Not really. You could even wrap a function called (for example) >> Feature() around it. > > Yeah, really. Sessions are for user data. If it's the same for all > users then it doesn't belong in the session, it belongs in a server-wide > cache. > >>> It should a class >>> variable or global configuration variable. Heck, I'd say it's more >>> appropriate to do extension_loaded( 'mysqli' ) on every call than to use >>> a session variable. >> >> Why? It's very unlikely to be changing between calls. And even if it >> does, it's once in a blue moon. Granted though, I can't see it being a >> particularly intensive function call, so I can't see the harm in >> calling it on every invocation. > > AFAIK a call to extension_loaded is pretty cheap, but if you really feel > the need to cache it between requests the best place to store it would > be in a file on the server. However, I'd expect a stat on that file will > be more expensive than calling extension_loaded. the on disk file could be [re]generated automatically when the server is started up by the application and dumped onto tmpfs or even not stored as a file at all but directly in memory using apc or something similar either way I agree it's a server wide setting that is garanteed not change as long as the webserver is not restarted - atleast I can't see an extension becoming available 'just like that' ... going on the basis that dl() should be illegal ;-) - actually it is not available if your using a threaded webserver (who does?) and as of php6 not webserver SAPI implements dl() not to mention safe_mode which also disables it. > > -Stut >

« previous php.general (#265673) next »