[SOLVED] Fatal error when updating from Symphony 2.3.3 to Symphony 2.3.6
This is an open discussion with 5 replies, filed under Troubleshooting.
Search
NOTE: I am running PHP 5.4.25 / Apache 2.2
class.extensionmanager.php
594 foreach($services as $s) { 595 // Initial seeding and query count 596 Symphony::Profiler()->seed(); 597 $queries = Symphony::Database()->queryCount(); 598 599 // Get instance of extension and execute the callback passing 600 // the `$context` along 601 $obj = self::getInstance($s['name']); 602 if(is_object($obj) && method_exists($obj, $s['callback'])) { 603 $obj->{$s['callback']}($context); 604 } 605 606 // Complete the Profiling sample 607 $queries = Symphony::Database()->queryCount() - $queries; 608 Symphony::Profiler()->sample($delegate . '|' . $s['name'], PROFILE_LAP, 'Delegate', $queries); 609 }
On line 596 Profiler()
is called via the Static Class of Symphony
which means that Symphony
may not have been instantiated and thus the __construct() method has potentially not run.
Symphony::Profiler() returns an instance of the (singleton) Profiler Class. However, if Symphony
(the class) has not been instantiated, the constructor would not have been executed and the Profiler Class
not instantiated either; therefore, null
would be returned to the Symphony::Profiler()
call on line 596 and PHP would throw the Fatal error: Call to a member function ... on a non-object because only an instance of Profiler can call the method seed()
.
Bottom line
For some reason, the Symphony Class has not instantiated yet.
Z,
Is it possible that some of the symphony
directory did not get copied over from the 2.3.6 installation (e.g., not all files were replaced)?
Will, thank you for the explanation above. To answer your question, I did replace all of symphony
directory, but I am getting that only when I run the update script for 2.3.6. I am able to login to symphony and the site works, it's just I am unable to update the site.
I need to look more in-depth if I have missed something in the process. I'll report back if I find anything else.
Thanks @wjnielsen and @brendo for y'alls input on this.
Profile DevKit extension exists.
It looks as if it was the Continuous Database Integration extension or Dump DB extension, when I uninstalled them... I was able to run the update successfully.
NOTE: I have closed the issue in the Github tracker.
Create an account or sign in to comment.
Hey y'all. I am getting the following error when I try to update Symphony 2.3.3 to Symphony 2.3.6.
Fatal error: Call to a member function seed() on a non-object in /Users/bmz/Repositories/pcpc-routing/symphony/lib/toolkit/class.extensionmanager.php on line 596
Any thoughts on what is causing this?
I also filed this as an issue on Github.