I had a lot of trouble doing this upgrade, but after trying many suggestions from this thread, none of which worked, the main issue seemed to be getting my host to upgrade to PHP 7.1 (I was locked into 5.2). [They also renamed my .htaccess files to stop them working, though I'd never had trouble with them before]. Once they did this, all worked, with a couple of exceptions: At first the import-export control panel opened. It said I had an existing GEDCOM but that I needed to import one (that is, it contradicted itself). I had a few entries that were unapproved when I opened up. I approved these, then exported the GEDCOM and reimported it. Then the full site opened up for me. I had a few odd entries from those unapproved entries (2000 year old people!). However, I could just edit the few birthdates involved to get them back to normal lifespans. A bit of tidying and updating on the home page and all good.
"ERROR 8: A non well formed numeric value encountered
0 Error occurred on line 1850 of file pclzip.lib.php in function privOptionDefaultThreshold
1 called from line 342 of file pclzip.lib.php in function create
2 called from line 258 of file usermigrate_ctrl.php in function backup
3 called from line 79 of file usermigrate_ctrl.php in function init
4 called from line 34 of file usermigrate.php
ERROR 2: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/account/siteurl.com/includes/functions/functions.php:511)”
That "backup" routine hasn't worked properly since PhpGedView version 4 was implemented. It's never been properly tested or updated for the newer versions of PHP. It's scheduled for removal, since it's really intended for migrating between Index and Database modes. There's no "index" mode any more.
If you want to back up your databases, etc., the best way to do this is to use a tool like phpmyadmin.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I do use phpmyadmin, so my concerns about the Control Panel backup were more to do with whether the errors generated were indicating an incorrect upgrade process. I didn't get these errors when I last ran the backup in PHPGedView Version 4.0.2 with PHP 5.2 last year. If not, all good.
Having now got a day further down the track, I've noticed a few glitches in the database. Some family relationships do not seem to have survived the upgrade. These are usually some form of "double relationship" where the spouses are related in some way. For instance, I have this error, just under the header line on the webpage for an individual:
"Personal Facts and Details
Unable to find family with ID F1049"
When I open up an old GEDCOM backup as a text file, I can find that he is a father of two illegitimate children whose entries also have that code, and the code is also in his mistress's entry. When I search in the "Search" box of PHPGedView, all the family members are found in a General Search, but each of them shows the same error - "Unable to find family with ID F104". A different, related family, the mistress and her later husband, shows this error: "Personal Facts and Details
Unable to find family with ID f832Unable to find family with ID F832".
This is maybe just a one-off. How do I search for systemic errors of this kind? These weren't in the old database. Ta
Last edit: Rod McInnes 2018-03-01
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The Family, Person, Source, Note, and Media ID numbers are all case sensitive. Check your GEDCOM configuration to make sure these ID prefixes are in upper-case.
It appears as though your database contains some ID numbers that are coded with lower-case prefixes, where they should all be upper-case.
The simplest way to fix this is to export your database to a GEDCOM file that you can then edit with a text editor to do bulk search-and-replace. Do case-insensitive replaces as follows:
@i --> @I ; @f --> @F ; @n --> @N ; @s --> @S ; @m --> @M
In other words, change all lower-case ID number prefixes to upper-case. You could use lower-case prefixes, as long as your GEDCOM configuration is set that way. This is, however, not recommended.
The GEDCOM file is an ordinary text file, in UTF-8 format without a 3-character Byte Order Mark prefix. The BOM self-identifies such files as being in the UTF-8 character set. You can safely treat this file as being in the ASCII character set, since you're not going to change any special UTF-8 encoded characters in the file. ASCII is a sub-set of UTF-8.
After having done that, upload the corrected GEDCOM to your server and then import it into the database, replacing what's already there.
If this doesn't fix your problem, we can make arrangements for you to e-mail me a ZIP copy of your GEDCOM file, so that I can take a look at what's wrong.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for this. I removed all lower case letters. I had only one entry of lower case f, and 10 or so of lower case s.
Reimported, but the errors now read:
"Personal Facts and Details
Unable to find family with ID F832Unable to find family with ID F832"
Comparing to my post above, the lower case f has been removed, but the double error message reamins. The other family error that I had, had no lower case letters and remains the same, with just the single error message viz:
"Personal Facts and Details
Unable to find family with ID F1049"
If you are still prepared to offer to recieve a zipped copy of the GEDCOM for checking, I'd really appreciate it, please?
One more thing - I didn't just reimport, I deleted and then re-added my database. The reason for this action, was that there was typo in my webpage title (a "(1)" was added on the end), and I could see no other way to reset the Title.
However, I've now discovered that though the GEDCOM etc works fine, I've lost all my Welcome Page settings and text. I've re-setup most of this through the configuration, but I can't for the life of me find out how to recover my Welcome Page text and block settings. Do you know how, please? I have full backups of all files on my local machine, but I don't know which ones to reupload.
Thanks
Rod
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Rod:
You can e-mail me directly at: gkroll (at) keldine (dot) ca .
The page title is set in the GEDCOM configuration, second entry from the top.
I suggest that you just re-load the database tables from your backup, and then re-import the GEDCOM that you previously edited, and also correct the GEDCOM title.
Exactly where are you getting that "Unable to find ..." error? Which individual are you looking at when you get that error?
Essentially, the problem is that an individual's record (a collection of lines), contains a reference to family F832 (or F1049) .
When you look at one of those individuals where you're getting the error, take a look at the actual GEDCOM record for that person. I.e., "edit" the raw gedcom record. There's an option for that towards the top right of the individual's page. You probably have a line like
1 FAMC @F832@
or
1 FAMS @F832@
in there.
"FAMC" means the person is a child of family F832. "FAMS" means the person is a spouse of family F832. If family F832 exists, its GEDCOM record would begin with 0 FAM @F832@, and, supposing the person in question had an ID of I1234, the family record for F832 would have a line
1 CHIL @I1234@ in it if the person is a child of that family,
or
1 WIFE @I1234@ if the person is a female spouse (or a male taking the "wife" position)
or
1 HUSB @I1234@ if the person is a male spouse (or a female taking the "husband" position)
You can also have multiple 1 HUSB or 1 WIFE lines in the Family record (remember that we could be dealing with Mormons, or with Muslims.)
In the case of the doubled error message, you probably have two 1 FAMC or two 1 FAMS lines in there.
What you need to do is to determine the Family ID that the person actually belongs to and then unlink him/her from the missing family and re-link to the correct one. This is kind of hard to do if you're not familiar with the file structure.
Send me a ZIP copy of your GEDCOM, after you've identified the correct family links, and I'll fix things for you. Alternatively, I can do that for you on your site if you were to give me temporary access (Admin rights are best for this).
Last edit: Gerry Kroll 2018-03-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I did not get back to you, becuase I managed to fix the Fxxx errors by editing the GEDCOM.
The only problem remaining is that I lost my Welcome page text when I rebuilt the website.
So, I've gone to my backups, found for instance, the "news.dat" file with my old text, and then overwritten the news.dat file in the Index directory. I've then cleared the Cache in the Control Panel, logged in and out, reloaded the page, ... but nothing happens. The news text is the default text that I had loaded when I reset, not my old text from the site.
How do I get phpGEDview to load the news.dat file sitting in the Index directory? Or does that load from somewhere else and I've overwritten the wrong file? Thanks in anticipation...
I've attached a screenshot. You can see the Index folder on both sides. On the left side is the new .dat files on my computer which are only small because they are defaults. On the server, on the right hand side, you can see that I've since uploaded my backup files to replace those files, which you can see are larger than the ones on the left, because they contain my previous customised text. The exception is messages.dat which has grown since the most recent backup before the reset, as it's a cumulative file. However, those server side files are not displaying on the site. I've tried importing my GEDCOM, and checking configuration, with no result on the website, so I don't have a clue! Thanks.
When you launched PHpMyAdmin, you were asked to sign in using your database userid and password. did you next select the database that you wanted to work on? This selection is not made automatically.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay. Just running a test of importing the database that I just exported. That is, just replacing same with same, but to test if the Import function work with an Export file.
--
-- Database: maxbegg_mcinnes
--
CREATE DATABASE IF NOT EXISTS maxbegg_mcinnes DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
MySQL said: Documentation
1044 - Access denied for user 'maxbegg_rodmci'@'localhost' to database 'maxbegg_mcinnes'
Which presumably means that this is the wrong login.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
--
-- Database: |maxbegg_mcinnes|
--
CREATE DATABASE IF NOT EXISTS |maxbegg_mcinnes| DEFAULT CHARACTER SET
latin1 COLLATE latin1_swedish_ci
MySQL said: Documentation
1044 - Access denied for user 'maxbegg_rodmci'@'localhost' to database
'maxbegg_mcinnes'
Which presumably means that this is the wrong login.
MySQL has it's own methods of controlling access, and one should be able
to use the login to access the server in general via PHPMyAdmin so you
can test that independently of PGV ...
Backup is another strange concept in MySQL since it does dump the data
as a text file which one then has to be able to load again. I've got ONE
WordPress powered site which I look after for a client and restoring the
database on that is something of a lottery. WordPress runs a backup
cycle every day and blocks access to the site while it's doing it and
the resulting backup has an IF EXISTS xxx DROP xxx before every table.
So if your backup file does not have that, then the whole database needs
dropping before trying to restore. You should be able to play with this
all via PHPMyAdmin and get a working database, and then edit the PGV
config file to use the correct database name and login details ...
When you're using PhpGedView to re-import the GEDCOM that you just exported with PhpGedView, you need to allow PhpGedView to delete existing data in the database. You also need to tell PhpGedView to NOT keep media links.
The reason for the "delete existing data" should be obvious. The "keep media links" option should only be used when you're using media and the incoming GEDCOM was produced by an external program that does not handle media very well. Older versions of Family Tree Maker are in this category. PhpGedView's Export function correctly includes the media information in the GEDCOM it creates when you're Exporting.
I don't see why the Import should concern itself with the Blocks table. That's not part of the Export, and nothing in the GEDCOM should have anything to do with how how site presents the main or the user-specific Welcome pages. Wehn you're talking about "Export" and "Import", are you talking about what's in PhpGedView or are you talking about PHPMyAdmin?
You need to examine the contents of the config.php file. The database credentials to be used are kept in there.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear all
I’ve just upgraded to Build 7201 https://sourceforge.net/p/phpgedview/svn/HEAD/tree/ Version 4.3.1 from Version 4.0.2. This is my site: http://www.mcinnes-family-history.com, one of two I run. This site stopped working last year, with massive errors. My other site http://beggs-family-history.com/ still works after a fashion on Version 4.0.2 - gets a few 500 errors on some pages (it’s not actively used or added to), and will be next for upgrading.
I had a lot of trouble doing this upgrade, but after trying many suggestions from this thread, none of which worked, the main issue seemed to be getting my host to upgrade to PHP 7.1 (I was locked into 5.2). [They also renamed my .htaccess files to stop them working, though I'd never had trouble with them before]. Once they did this, all worked, with a couple of exceptions: At first the import-export control panel opened. It said I had an existing GEDCOM but that I needed to import one (that is, it contradicted itself). I had a few entries that were unapproved when I opened up. I approved these, then exported the GEDCOM and reimported it. Then the full site opened up for me. I had a few odd entries from those unapproved entries (2000 year old people!). However, I could just edit the few birthdates involved to get them back to normal lifespans. A bit of tidying and updating on the home page and all good.
However, I just did a Backup through the Administration panel http://www.siteurl.com/usermigrate.php?proceed=backup and though it completed, I got the following errors:
"ERROR 8: A non well formed numeric value encountered
0 Error occurred on line 1850 of file pclzip.lib.php in function privOptionDefaultThreshold
1 called from line 342 of file pclzip.lib.php in function create
2 called from line 258 of file usermigrate_ctrl.php in function backup
3 called from line 79 of file usermigrate_ctrl.php in function init
4 called from line 34 of file usermigrate.php
ERROR 2: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/account/siteurl.com/includes/functions/functions.php:511)”
Any idea what’s happening here?
Ta
Rod
Last edit: Rod McInnes 2018-02-28
That "backup" routine hasn't worked properly since PhpGedView version 4 was implemented. It's never been properly tested or updated for the newer versions of PHP. It's scheduled for removal, since it's really intended for migrating between Index and Database modes. There's no "index" mode any more.
If you want to back up your databases, etc., the best way to do this is to use a tool like phpmyadmin.
I do use phpmyadmin, so my concerns about the Control Panel backup were more to do with whether the errors generated were indicating an incorrect upgrade process. I didn't get these errors when I last ran the backup in PHPGedView Version 4.0.2 with PHP 5.2 last year. If not, all good.
Having now got a day further down the track, I've noticed a few glitches in the database. Some family relationships do not seem to have survived the upgrade. These are usually some form of "double relationship" where the spouses are related in some way. For instance, I have this error, just under the header line on the webpage for an individual:
"Personal Facts and Details
Unable to find family with ID F1049"
When I open up an old GEDCOM backup as a text file, I can find that he is a father of two illegitimate children whose entries also have that code, and the code is also in his mistress's entry. When I search in the "Search" box of PHPGedView, all the family members are found in a General Search, but each of them shows the same error - "Unable to find family with ID F104". A different, related family, the mistress and her later husband, shows this error: "Personal Facts and Details
Unable to find family with ID f832Unable to find family with ID F832".
This is maybe just a one-off. How do I search for systemic errors of this kind? These weren't in the old database. Ta
Last edit: Rod McInnes 2018-03-01
The Family, Person, Source, Note, and Media ID numbers are all case sensitive. Check your GEDCOM configuration to make sure these ID prefixes are in upper-case.
It appears as though your database contains some ID numbers that are coded with lower-case prefixes, where they should all be upper-case.
The simplest way to fix this is to export your database to a GEDCOM file that you can then edit with a text editor to do bulk search-and-replace. Do case-insensitive replaces as follows:
@i --> @I ; @f --> @F ; @n --> @N ; @s --> @S ; @m --> @M
In other words, change all lower-case ID number prefixes to upper-case. You could use lower-case prefixes, as long as your GEDCOM configuration is set that way. This is, however, not recommended.
The GEDCOM file is an ordinary text file, in UTF-8 format without a 3-character Byte Order Mark prefix. The BOM self-identifies such files as being in the UTF-8 character set. You can safely treat this file as being in the ASCII character set, since you're not going to change any special UTF-8 encoded characters in the file. ASCII is a sub-set of UTF-8.
After having done that, upload the corrected GEDCOM to your server and then import it into the database, replacing what's already there.
If this doesn't fix your problem, we can make arrangements for you to e-mail me a ZIP copy of your GEDCOM file, so that I can take a look at what's wrong.
Gerry
Thanks for this. I removed all lower case letters. I had only one entry of lower case f, and 10 or so of lower case s.
Reimported, but the errors now read:
Comparing to my post above, the lower case f has been removed, but the double error message reamins. The other family error that I had, had no lower case letters and remains the same, with just the single error message viz:
If you are still prepared to offer to recieve a zipped copy of the GEDCOM for checking, I'd really appreciate it, please?
One more thing - I didn't just reimport, I deleted and then re-added my database. The reason for this action, was that there was typo in my webpage title (a "(1)" was added on the end), and I could see no other way to reset the Title.
However, I've now discovered that though the GEDCOM etc works fine, I've lost all my Welcome Page settings and text. I've re-setup most of this through the configuration, but I can't for the life of me find out how to recover my Welcome Page text and block settings. Do you know how, please? I have full backups of all files on my local machine, but I don't know which ones to reupload.
Thanks
Rod
Rod:
You can e-mail me directly at: gkroll (at) keldine (dot) ca .
The page title is set in the GEDCOM configuration, second entry from the top.
I suggest that you just re-load the database tables from your backup, and then re-import the GEDCOM that you previously edited, and also correct the GEDCOM title.
Exactly where are you getting that "Unable to find ..." error? Which individual are you looking at when you get that error?
Essentially, the problem is that an individual's record (a collection of lines), contains a reference to family F832 (or F1049) .
When you look at one of those individuals where you're getting the error, take a look at the actual GEDCOM record for that person. I.e., "edit" the raw gedcom record. There's an option for that towards the top right of the individual's page. You probably have a line like
1 FAMC @F832@
or
1 FAMS @F832@
in there.
"FAMC" means the person is a child of family F832. "FAMS" means the person is a spouse of family F832. If family F832 exists, its GEDCOM record would begin with 0 FAM @F832@, and, supposing the person in question had an ID of I1234, the family record for F832 would have a line
1 CHIL @I1234@ in it if the person is a child of that family,
or
1 WIFE @I1234@ if the person is a female spouse (or a male taking the "wife" position)
or
1 HUSB @I1234@ if the person is a male spouse (or a female taking the "husband" position)
You can also have multiple 1 HUSB or 1 WIFE lines in the Family record (remember that we could be dealing with Mormons, or with Muslims.)
In the case of the doubled error message, you probably have two 1 FAMC or two 1 FAMS lines in there.
What you need to do is to determine the Family ID that the person actually belongs to and then unlink him/her from the missing family and re-link to the correct one. This is kind of hard to do if you're not familiar with the file structure.
Send me a ZIP copy of your GEDCOM, after you've identified the correct family links, and I'll fix things for you. Alternatively, I can do that for you on your site if you were to give me temporary access (Admin rights are best for this).
Last edit: Gerry Kroll 2018-03-04
Hi Gerry
I did not get back to you, becuase I managed to fix the Fxxx errors by editing the GEDCOM.
The only problem remaining is that I lost my Welcome page text when I rebuilt the website.
So, I've gone to my backups, found for instance, the "news.dat" file with my old text, and then overwritten the news.dat file in the Index directory. I've then cleared the Cache in the Control Panel, logged in and out, reloaded the page, ... but nothing happens. The news text is the default text that I had loaded when I reset, not my old text from the site.
How do I get phpGEDview to load the news.dat file sitting in the Index directory? Or does that load from somewhere else and I've overwritten the wrong file? Thanks in anticipation...
I've attached a screenshot. You can see the Index folder on both sides. On the left side is the new .dat files on my computer which are only small because they are defaults. On the server, on the right hand side, you can see that I've since uploaded my backup files to replace those files, which you can see are larger than the ones on the left, because they contain my previous customised text. The exception is messages.dat which has grown since the most recent backup before the reset, as it's a cumulative file. However, those server side files are not displaying on the site. I've tried importing my GEDCOM, and checking configuration, with no result on the website, so I don't have a clue! Thanks.
Last edit: Rod McInnes 2018-06-16
Good question. I'm not familiar with the "backup" feature you used.
I use PHPMyAdmin (or similar) to make backups of the database and to restore these backups.
The News articles and information on how to handle them are kept in the database.
It's not really a backup. It's just reloading the invidual files from my PC to the server.
So, I imported my database backup (maxbegg_mcinnes) using PHPmyadmin. as you suggested. However, I got the following error:
Error
SQL query:
--
-- Database:
maxbegg_mcinnes--
--
-- Table structure for table
pgv_blocks--
CREATE TABLE
pgv_blocks(b_idint(11) NOT NULL,b_usernamevarchar(100) DEFAULT NULL,b_locationvarchar(30) DEFAULT NULL,b_orderint(11) DEFAULT NULL,b_namevarchar(255) DEFAULT NULL,b_configtext) ENGINE=MyISAM DEFAULT CHARSET=latin1
MySQL said: Documentation
1046 - No database selected
It's not really a backup. It's just reloading the invidual files from my PC to the server.
So, I imported my database backup (maxbegg_mcinnes) using PHPmyadmin. as you suggested. However, I got the following error:
Error
SQL query:
--
-- Database:
maxbegg_mcinnes--
--
-- Table structure for table
pgv_blocks--
CREATE TABLE
pgv_blocks(b_idint(11) NOT NULL,b_usernamevarchar(100) DEFAULT NULL,b_locationvarchar(30) DEFAULT NULL,b_orderint(11) DEFAULT NULL,b_namevarchar(255) DEFAULT NULL,b_configtext) ENGINE=MyISAM DEFAULT CHARSET=latin1
MySQL said: Documentation
1046 - No database selected
You can e-mail me a copy of the news.dat file, and I'll have a look at its structure and contents.
e-mail: gkroll (at) keldine (dot) ca
When you launched PHpMyAdmin, you were asked to sign in using your database userid and password. did you next select the database that you wanted to work on? This selection is not made automatically.
I have two logins, and I seem to have used them randomly to create backups. I'll do some trials and see what works. Ta.
Okay. Just running a test of importing the database that I just exported. That is, just replacing same with same, but to test if the Import function work with an Export file.
With the first login: maxbeggs_mcinnes
With the second longin maxbeggs_rodmci:
When I hit the Import tab, I get a fatal Javascript error as follows:
If I refresh and import anyway, I get:
On 17/06/18 09:07, Rod McInnes wrote:
MySQL has it's own methods of controlling access, and one should be able
to use the login to access the server in general via PHPMyAdmin so you
can test that independently of PGV ...
Backup is another strange concept in MySQL since it does dump the data
as a text file which one then has to be able to load again. I've got ONE
WordPress powered site which I look after for a client and restoring the
database on that is something of a lottery. WordPress runs a backup
cycle every day and blocks access to the site while it's doing it and
the resulting backup has an IF EXISTS xxx DROP xxx before every table.
So if your backup file does not have that, then the whole database needs
dropping before trying to restore. You should be able to play with this
all via PHPMyAdmin and get a working database, and then edit the PGV
config file to use the correct database name and login details ...
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
When you're using PhpGedView to re-import the GEDCOM that you just exported with PhpGedView, you need to allow PhpGedView to delete existing data in the database. You also need to tell PhpGedView to NOT keep media links.
The reason for the "delete existing data" should be obvious. The "keep media links" option should only be used when you're using media and the incoming GEDCOM was produced by an external program that does not handle media very well. Older versions of Family Tree Maker are in this category. PhpGedView's Export function correctly includes the media information in the GEDCOM it creates when you're Exporting.
I don't see why the Import should concern itself with the Blocks table. That's not part of the Export, and nothing in the GEDCOM should have anything to do with how how site presents the main or the user-specific Welcome pages. Wehn you're talking about "Export" and "Import", are you talking about what's in PhpGedView or are you talking about PHPMyAdmin?
You need to examine the contents of the config.php file. The database credentials to be used are kept in there.