Hi,
I am running a CMS on a local hosted environment for development using WAMP5 Version 1.6.0
which is running;
- PHP/4.4.1
- Apache/2.0.55 (Win32)
- MySQL 3.23.49
I experienced a crashed during a page update and when I rebooted I encounted an error when I login into the admin panel.
When I select from the Admin menu bar -> Content/Pages, I get;
Fatal error: Call to a member function on a non-object in G:\wamp5\www\guide\lib\classes\class.content.inc.php on line 1769
This error prevents me from displaying the page list.
When I select from the Admin menu bar -> View Site, I can see the site, however the side menu does not display.
I am using the "Bulletmenu Vert 1 col" template for all my pages.
I have the following modules installed and active in my environment;
- CSSMenu 1.2.2
- EllNav 0.7
- FCKeditorX 0.9.7
- News 2.0.1
On the site I am developing I have include "previous" "back" and "next" button links on every page. I have used these to navigate around including various text links. I can verify that the content seems to be intact and that the issue seems to be isolated to the menu structure.
I can also confirm that the Admin menu bar Content/File Manager and Content/Image Manager are working fine.
I guess what I required is either;
1) Assistance in locating the source of the corruption and manually fixing it; or
2) Guidance in what I need to copy into a new install of CMS made simple; or
3) A copy of the file that is believe to be corrupted (if its a CMS made simple file) and where I need to copy it to replace the faulty file (if only its as simple as that)
Additional Notes:
I opened the database in PHPAdmin and found the following;
- table "cms_content_props_seq" displayed the message "No index defined!"; and
- table "cms_content_seq" displayed the message "No index defined!" as well.
I had the thought that this might contain the menu index, however the "previous, next and back" buttons are navigating through the website fine. So I'm back to square one.
Regards
Michael
Fatal error: Call to a member function on a non-object in Admin area
-
michaelg
Fatal error: Call to a member function on a non-object in Admin area
Last edited by michaelg on Thu Feb 16, 2006 4:07 pm, edited 1 time in total.
-
jelle
Re: Fatal error: Call to a member function on a non-object in Admin area
I think your analysis is correct, but suspecting a corrupt file is not. You were updating the db, not the filesystem when your system crashed. Maybe combining a traditionally unstable OS and a BD that trades integrity for speed is not the best solution. This probably is what has bitten you. (OTOH there is no mention of transactions anywhere in the cmsms source, so this might have happened with postgress too).
frankly I don't have a clue (yet) how to solve your problem. I think the first step would be to make a backup of your db. Then survey what the actual damage in the db is. once you know that, you should not be far of from figuring out a temporary solution so that you can enter the affected admin area again and restore the stuff for real from there. (eg, make all pages have no parent and go from there)
Hope That Helps
frankly I don't have a clue (yet) how to solve your problem. I think the first step would be to make a backup of your db. Then survey what the actual damage in the db is. once you know that, you should not be far of from figuring out a temporary solution so that you can enter the affected admin area again and restore the stuff for real from there. (eg, make all pages have no parent and go from there)
Hope That Helps
-
michaelg
Re: Fatal error: Call to a member function on a non-object in Admin area
Hi,
I would be classed as a Noob in regards to PHP/Mysql/CMSMS, so I need to ask, how to I "make all pages have no parent" ?
Regards
Michael
I would be classed as a Noob in regards to PHP/Mysql/CMSMS, so I need to ask, how to I "make all pages have no parent" ?
Regards
Michael
-
michaelg
Re: Fatal error: Call to a member function on a non-object in Admin area
Hi,
Good news, no more errors. Both the page list in the Admin area and the side menu on the website are recovered. I cannot see any missing content but I'll check that shortly.
Thanks Patricia, using phpMyAdmin and selecting the suspect tables then going to the Operations tab and selecting "repair table" seemed to do the trick.
However I found if I first "check table" and the table is bad it will display an error message explaining the problem (ie this table is marked as bad), unfortunately I could not work out a way to clear the error to allow me to repair the problem. But I did learn that if I ran a repair table on another table I was able to copy down the SQL command...
REPAIR TABLE `cms_adminlog`
and then run this as a SQL query and replace the table name with the one I want to fix (that's a tip for those who get the same problem).
We'll I hope my little drama, and the answer posted here help other users in the future.
I'm now off to back up my local host environment to several computers and CDROMs.
Regards
Michael
Good news, no more errors. Both the page list in the Admin area and the side menu on the website are recovered. I cannot see any missing content but I'll check that shortly.
Thanks Patricia, using phpMyAdmin and selecting the suspect tables then going to the Operations tab and selecting "repair table" seemed to do the trick.
However I found if I first "check table" and the table is bad it will display an error message explaining the problem (ie this table is marked as bad), unfortunately I could not work out a way to clear the error to allow me to repair the problem. But I did learn that if I ran a repair table on another table I was able to copy down the SQL command...
REPAIR TABLE `cms_adminlog`
and then run this as a SQL query and replace the table name with the one I want to fix (that's a tip for those who get the same problem).
We'll I hope my little drama, and the answer posted here help other users in the future.
I'm now off to back up my local host environment to several computers and CDROMs.
Regards
Michael
Last edited by michaelg on Fri Feb 17, 2006 6:39 am, edited 1 time in total.
