View on GitHub

J. P. Gerdeman

Musings on software development

symfony 1.0 and php5.3 Just stumbled over this error message using a symfony1.0 project with PHP5.3:

Warning: session_start() [function.session-start]: Function spl_autoload_call() hasn't defined the class it was called for in ...

the offensive line was a simple:

session_start();

After clearing the cache for about the millionth time, the error still persisted. Doing a quick search it seemed to be quite a common problem. I found a forum post suggesting, incompatibilities between older symfony versions and newer PHP versions.

After a nights sleep it hit me, that symfony was trying to resume a former session, by loading a existing cookie. After flushing those my app finally started up.

Moral of the story: If you encounter a problem no matter how involved it might seem, just step through your basic debugging steps. In this case I forgot Step 1: If you encounter a problem in developement clear the app cache, the browser cache (should be deactivated anyway) and kill the cookies! Hit Ctrl+F5 and hope for the best. If you’re for someeye reason use ietab+ you have to clear IE’s and FF’s/Chrome’s cache…

Everything seems to work fine now but I’m being pestered by the next Warning:

Warning: substr() expects parameter 2 to be long, string given in ..\lib\vendor\symfony\lib\vendor\propel\map\TableMap.php on line 303

If anyones seen this before, I’m open for pointers.

BTW don’t forget to comment out the line zend.ze1_compatibility_mode: off in "../lib/vendor/symfony/data/config/php.yml" the key has been removed with php5.3