From: Demian K. <dem...@vi...> - 2010-11-11 17:43:08
|
I still don't understand why the autoloader should be triggering... but maybe if we work with it, we can find out more. Presumably the autoloader expects a file called web/Session.php. What happens if you create a web/Session.php file like this? <?php require_once 'services/MyResearch/lib/Session.php'; ?> Presumably that will allow the autoloader to find what it is working for and things just might start working. I don't propose this as a long-term solution, but I'd be interested to see if it helps! Assuming that this does fix everything, you might be able to get further clues by adding this line to the top of your new Session.php file: var_dump(debug_backtrace()); That should show the full sequence of events that led to the file being auto-loaded... it might be informative. - Demian From: Stewart J Brownrigg [mailto:S.J...@ke...] Sent: Thursday, November 11, 2010 12:36 PM To: Demian Katz; vuf...@li... Subject: RE: Problems with spl_autoload() Hi Demian, Thank you for your reply. web/services/MyResearch/lib/Session.php file does indeed exist. I tried putting in the var_dump code at the top of the MySQLSession.php as you suggested with these results: Before the require_once: <quote> Warning: require(Session.php) [function.require]: failed to open stream: No such file or directory in /www/wwwroot/vufind/web/index.php on line 43 Fatal error: require() [function.require]: Failed opening required 'Session.php' (include_path='.:/usr/local/lib/php:/www/wwwroot/Smarty/libs') in /www/wwwroot/vufind/web/index.php on line 43 </quote> (Renaming class Session to MySession produces the same output as this) After the require_once: <quote> bool(true) </quote> I'm afraid that the clues are not appearing yet. Stewart -- Stewart J Brownrigg, Library Systems Officer S20 Cornwallis South, University of Kent, Canterbury, Kent, CT2 7NF, UK +44(0)1227 823621 (824243 fax); S.J...@ke...<mailto:S.J...@ke...> From: Demian Katz [mailto:dem...@vi...] Sent: 11 November 2010 16:18 To: Stewart Brownrigg; vuf...@li... Subject: RE: Problems with spl_autoload() That's very strange - I haven't seen this problem before. It seems that PHP is trying (and failing) to auto-load the Session class. However, it shouldn't have to autoload anything, because the require statements at the top of the MySQLSession.php file should explicitly bring in the Session class definition from web/services/MyResearch/lib/Session.php. Does the web/services/MyResearch/lib/Session.php file exist? (I can't imagine it wouldn't... but doesn't hurt as a sanity check). Does it help if you rename the Session class to something like MySession? I'm not aware of any reason why Session would suddenly become a reserved word, but it's another sanity check. Might also be interesting to put in "var_dump(class_exists('Session'));" both before and after the require_once line for Session.php to see if that tells you anything. Sorry I don't have a better answer - but if you turn up any clues by trying these things, or if you need other ideas, let me know! - Demian From: Stewart Brownrigg [mailto:S.J...@ke...] Sent: Thursday, November 11, 2010 10:01 AM To: vuf...@li... Subject: [VuFind-Tech] Problems with spl_autoload() Hi, Fatal error: spl_autoload() [<a href='function.spl-autoload'>function.spl-autoload</a>]: Class Session could not be loaded in /www/wwwroot/vufind/web/sys/MySQLSession.php on line 32 I am getting this error showing up on a fresh VuFind-1.0.1 installation. The theme is set to default, and the driver to sample. php 5.3.2 on a Solaris platform Most data appears to be getting written to the database, except session.data. This appears to be crippling user sessions, etc. Any thoughts? Thanks, Stewart -- Stewart J Brownrigg, Library Systems Officer S20 Cornwallis South, University of Kent, Canterbury, Kent, CT2 7NF, UK +44(0)1227 823621 (824243 fax); S.J...@ke...<mailto:S.J...@ke...> |