Loading...
 
Architecture / Installation

Architecture / Installation


fatal error during upgrade

posts: 35

I was installing version 7.0 as an upgrade to 5.0. I got through the convert database encoding, and when I clicked the upgrade button, I got this error:

Fatal error: Call to a member function fetchRow() on a non-object in C:\xampp\htdocs\tiki\tiki-7.0\installer\schema\20101207_unique_login_tiki.php on line 16

What's going on? What is my next step? What state is the database in? Do I have to restore the database before I try again?

BTW, XAMPP for windows 1.7.3

Thanks,

posts: 1001 Canada

If you know PHP, the following is not executing as expected:

$result = $installer->query( "select count(*) nb from users_users having count(*) > 1" );
$row = $result->fetchRow();

On the first line, $result does not take the value expected, presumably because something goes wrong in query(). Make sure all PHP errors are reported (PHP setting error_reporting).

posts: 35
Philippe Cloutier wrote:
Make sure all PHP errors are reported (PHP setting error_reporting).


In the phpinfo() section of the XAMPP info page, error_reporting is set to 22519.

posts: 35
Philippe Cloutier wrote:

If you know PHP, the following is not executing as expected:

$result = $installer-query( "select count(*) nb from users_users having count(*) 1" );
$row = $result-fetchRow();

On the first line, $result does not take the value expected, presumably because something goes wrong in query(). Make sure all PHP errors are reported (PHP setting error_reporting).


When I run this query in phpmyadmin I get

nb
10

What is nb?

posts: 1001 Canada
Philippe Cloutier wrote:
Philippe Cloutier wrote:

If you know PHP, the following is not executing as expected:

$result = $installer-query( "select count(*) nb from users_users having count(*) 1" );
$row = $result-fetchRow();

On the first line, $result does not take the value expected, presumably because something goes wrong in query(). Make sure all PHP errors are reported (PHP setting error_reporting).


When I run this query in phpmyadmin I get

nb
10

What is nb?


nb, is the count(*), in this case the number of users. But that patch is broken and wouldn't do anything anyway. 7.1 will have a working one. There must be something else wrong though, normally the patch should just be ignored. You will probably experience other problems even if you skip it. Again, make sure your error reporting level reports warnings and notices if you want more clues of what could be going on.
There is definitely no database restoration needed, the patch is just not doing anything besides causing a fatal error.


posts: 35
jstotz wrote:
But that patch is broken and wouldn't do anything anyway. 7.1 will have a working one. There must be something else wrong though, normally the patch should just be ignored. You will probably experience other problems even if you skip it. Again, make sure your error reporting level reports warnings and notices if you want more clues of what could be going on.


I tried this again with 7.1 instead of 7.0 and I got the same error.

In the phpinfo() section of the XAMPP info page, error_reporting is set to 22519. Does this mean that error reporting is on or off? If it's off, how do I turn it on?

It looks like this error caused the update to fail in the middle and hose my database. I can't connect to the wiki now, so I'll have to restore it.

I'm thinking it would be easier to start a new database and copy my pages over.

posts: 1001 Canada
jstotz wrote:
jstotz wrote:
But that patch is broken and wouldn't do anything anyway. 7.1 will have a working one. There must be something else wrong though, normally the patch should just be ignored. You will probably experience other problems even if you skip it. Again, make sure your error reporting level reports warnings and notices if you want more clues of what could be going on.


I tried this again with 7.1 instead of 7.0 and I got the same error.

In the phpinfo() section of the XAMPP info page, error_reporting is set to 22519. Does this mean that error reporting is on or off? If it's off, how do I turn it on?


It depends on your PHP version. error reporting is not necessarily on or off, it's usually somewhere in between, which is why the value is so complicated. You seem to have warnings and notices disabled. See
http://www.php.net/manual/en/errorfunc.constants.php

To change the value, you need to change PHP configuration.


posts: 35

Well I eventually was able to upgrade. I found something on the upgrade instruction page that told me how to add to the list of installed patches in the schema database. I put two entries there and that stopped the main error. Then I had to turn on something about database access in the php config file to get rid of some other error. Lastly, when I logged into the tiki after the upgrade completed successfully, it told me that the database still needed to be updated. So I unlocked the installer and ran it again. This time it seemed to work.

However, now whenever I try to load the tiki in my browser, I get this error:

Fatal error: Call to a member function getValues() on a non-object in C:\xampp\htdocs\tiki\tiki-current\lib\rss\rsslib.php on line 497

I can hit refresh, and it goes away and I get the main page, but it is annoying. (Before I upgraded from v5.0, I never got this error, but I usually got a blank page with the same behavior.)


Upcoming Events

1)  18 Apr 2024 14:00 GMT-0000
Tiki Roundtable Meeting
2)  16 May 2024 14:00 GMT-0000
Tiki Roundtable Meeting
3)  20 Jun 2024 14:00 GMT-0000
Tiki Roundtable Meeting
4)  18 Jul 2024 14:00 GMT-0000
Tiki Roundtable Meeting
5)  15 Aug 2024 14:00 GMT-0000
Tiki Roundtable Meeting
6)  19 Sep 2024 14:00 GMT-0000
Tiki Roundtable Meeting
7) 
Tiki birthday
8)  17 Oct 2024 14:00 GMT-0000
Tiki Roundtable Meeting
9)  21 Nov 2024 14:00 GMT-0000
Tiki Roundtable Meeting
10)  19 Dec 2024 14:00 GMT-0000
Tiki Roundtable Meeting