Welcome to Geeklog Tuesday, September 17 2019 @ 04:26 am EDT

Geeklog Forums

Migrating 1.3.5 site to 2.0.0


Status: offline

sirromj

Forum User
Newbie
Registered: 19/05/13
Posts: 7
indifferent
Hi,

I've been tasked with upgrading and migrating a geeklog site from version 1.3.5 to 2.0.0. I firstly tested the process out on my home desktop running Arch Linux (linux 3.8, php 5.4, mariadb 5.5) and only had the most minor of issues. IIRC I used the migrate option for installation.

However, the migration process on the Debian server where it will be hosted is proving more troublesome (linux 2.6, php 5.2, mysql 5.1). After from various issues with the site's hosting, and then issues with the DB export/dumps, I eventually got a migration process reported as successful.

But of course problems persist in presenting themselves...

PHP Formatted Code

256 - 1054: Unknown column 'whos_online' in 'field list' @ /home/mydomain/mydomain.org/geeklog-2.0.0/system/databases/mysqli.class.php line 279
Call Stack
#       Function        File    Line
1       trigger_error   /home/mydomain/mydomain.org/geeklog-2.0.0/system/databases/mysqli.class.php     279
2       dbQuery /home/mydomain/mydomain.org/geeklog-2.0.0/system/lib-database.php       213
3       DB_query        /home/mydomain/mydomain.org/geeklog-2.0.0/system/lib-sessions.php       362
4       SESS_newSession /home/mydomain/mydomain.org/geeklog-2.0.0/system/lib-sessions.php       271
5       SESS_sessionCheck       /home/mydomain/mydomain.org/geeklog-2.0.0/system/lib-sessions.php       66
6       require_once    /home/mydomain/mydomain.org/www/lib-common.php  280
7       require_once    /home/mydomain/mydomain.org/www/index.php       35

array(3) {
  ["sql"]=>
  string(129) "INSERT INTO gl_sessions (sess_id, uid, start_time, remote_ip, whos_online) VALUES (283211075, 1, 1469701416, 'xx.xx.xx.xx', 1)"
  ["ignore_errors"]=>
  int(0)
  ["result"]=>
  bool(false)
}
 


Hope this information might prove useful in some way, but the next thing I'm going to try out is migration of the DB to the Debian server from the successfully-migrated DB on my Arch Linux desktop machine. Hopefully that will go much smoother.

Status: offline

Laugh

Site Admin
Admin
Registered: 27/09/05
Posts: 1377
Looks like the install missed for some reason the new column in the session table. The seesion table (use phpMyAdmin to modify tables) should include:

PHP Formatted Code

  `sess_id` int(10) unsigned NOT NULL DEFAULT '0',
  `start_time` int(10) unsigned NOT NULL DEFAULT '0',
  `remote_ip` varchar(39) NOT NULL DEFAULT '',
  `uid` mediumint(8) NOT NULL DEFAULT '1',
  `md5_sess_id` varchar(128) DEFAULT NULL,
  `whos_online` tinyint(1) NOT NULL DEFAULT '1',
  `topic` varchar(20) NOT NULL DEFAULT '',
 


I wonder why it worked on your one setup and not another...
One of the Geeklog Core Developers.

Status: offline

sirromj

Forum User
Newbie
Registered: 19/05/13
Posts: 7
I have seen "Premature end of script headers" in the logs several times. What happens if some of the files referenced in the DB aren't yet in place when I perform the install? I see it recommends all images from /images are in place, but does the same apply for other files and folders? And what if they're not in place, are any references to missing files deleted? Would references to missing files cause any performance problems? I'm already expecting to have to start over with it all anyway, so hit me with the bad news.


Status: offline

Laugh

Site Admin
Admin
Registered: 27/09/05
Posts: 1377
Can you post some examples of the errors you received in the error log.
One of the Geeklog Core Developers.

Status: offline

sirromj

Forum User
Newbie
Registered: 19/05/13
Posts: 7
PHP Formatted Code
 grep  Premature *.log.* | sed ...
error.log.2013-05-19:[Sun May 19 06:35:24 2013] [error] [client xx.xx.xx.xx] Premature end of script headers: index.php, referer: http://www.mydomain.org/admin/install/index.php?mode=upgrade&dbconfig_path=%2Fhome%2Fmydomain%2Fmydomain.org%2Fgeeklog-2.0.0_install%2Fdb-config.php&language=english&display_step=2
error.log.2013-05-19:[Sun May 19 14:15:56 2013] [error] [client xx.xx.xx.xx] Premature end of script headers: migrate.php, referer: http://www.mydomain.org/admin/install/migrate.php?dbconfig_path=%2Fhome%2Fmydomain%2Fmydomain.org%2Fgeeklog-2.0.0%2Fdb-config.php&public_html_path=%2Fhome%2Fmydomain%2Fmydomain.org%2Fwww%2F&language=english
error.log.2013-05-19:[Sun May 19 14:43:37 2013] [error] [client xx.xx.xx.xx] Premature end of script headers: migrate.php, referer: http://www.mydomain.org/admin/install/bigdump.php?start=1&foffset=0&totalqueries=0&db_connection_CHARSET=utf8mb4&language=english&fn=%2Fhome%2Fmydomain%2Fmydomain.org%2Fgeeklog-2.0.0%2Fbackups%2Fdb_gl.sql&site_url=http%3A%2F%2Fwww.mydomain.org&site_admin_url=http%3A%2F%2Fwww.mydomain.org%2Fadmin
error.log.2013-05-19:[Sun May 19 16:08:57 2013] [error] [client xx.xx.xx.xx] Premature end of script headers: bigdump.php, referer: http://www.mydomain.org/admin/install/migrate.php?dbconfig_path=%2Fhome%2Fmydomain%2Fmydomain.org%2Fgeeklog-2.0.0%2Fdb-config.php&public_html_path=%2Fhome%2Fmydomain%2Fmydomain.org%2Fwww%2F&language=english
 

Status: offline

sirromj

Forum User
Newbie
Registered: 19/05/13
Posts: 7
I contacted the hosting company about the slowness of the server response, and they claimed to have resolved it by restarted Apache. Still seems very slow, I don't believe it to be Geeklog at fault, and I read somewhere the errors I posted are sometimes caused by server timeouts. Even the most simplistic HTML files can sometimes take an age to be served.

Status: offline

sirromj

Forum User
Newbie
Registered: 19/05/13
Posts: 7
Ok I think there's been a number of things causing issues here.

1) The painfully slow server response - nothing to do with Geeklog - seems resolved by setting it to PHP 5.4 fastcgi instead of PHP 5.3 fast cgi. This caused the premature end of scripts error I mentioned.

2) I used several different methods of obtaining backups of the original database: phpmyadmin and mysqldump which probably just confused me more than anything else.

3) Any migration attempts from any databases placed in geeklog-2.0.0/backups are either:
a) reported as successful but redirect to a blank page and index.php gives the rendering error.
b) stop after 70% complaining about long dumplines.

4) restoring the database from command line before undergoing the migration process with the use existing database content option is entirely successful!

Consequently I can only imagine this is how I did things on my desktop PC in the first place.

Status: offline

sirromj

Forum User
Newbie
Registered: 19/05/13
Posts: 7
Well maybe not entirely successfull.

Some of the posts have characters like this  and ’, and changing the default charset I get – and ’. Guessing they're double/single quotes.

The old 1.3.5 install doesn't have
PHP Formatted Code
$_CONF['default_charset']

but instead has has:
PHP Formatted Code
$_CONF['locale']    = 'en-gb';


So do not know what default_charset should be. Do I need to do something like the following?

http://www.geeklog.net/article.php/200410120657418



Status: offline

Laugh

Site Admin
Admin
Registered: 27/09/05
Posts: 1377
Thanks for keeping us updated on the solutions to your problem

Yes it looks like you need to convert your database first.

This link below is newer and probably more useful

http://geeklog.fr/wiki/iso-8859-to-utf8

I couldn't find the link on Geeklog.net I was actually looking for but the one above should work.

One of the Geeklog Core Developers.

All times are EDT. The time is now 04:26 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content