Monday 10 March 2008 10:36:38 am - 11 replies
Im working on a upgrade of our main site to eZ 4. The site are running 3.8.6 atm. Everything has been good up to 3.10. Ezp 4.0 upgradre worked well up to where i run the updateniceurl script.
The settings im using for the urls are:
override/site.ini.append.php
[URLTranslator] Translation=enabled WordSeparator=underscore TransformationGroup=urlalias_compat TransformationGroup=lower_uri WildcardTranslation=enabled
And im running the command:
bin/php/updateniceurls.php --import --fetch-limit=100 -s studier
The error im getting after the script has run for a while:
Fatal error: Call to a member function attribute() on a non-object in /opt/lampp/www4/kernel/classes/ezcontentobjecttreenode.php on line 4014
Anyone had the same problem?
Modified on Monday 10 March 2008 10:37:38 am by Pål Messenlien
Monday 10 March 2008 11:36:00 am
Hi,
You have try to use the transform.ini file like this :
transform.ini.append.php
<?php /* #?ini charset="utf-8"? [Transformation] Groups[]=lower_uri [lower_uri] Extensions[] Commands[] Commands[]=normalize Commands[]=transform Commands[]=decompose Commands[]=transliterate Commands[]=diacritical Commands[]=lowercase Commands[]=url_cleanup */ ?>
site.ini.append.php
[URLTranslator] TransformationGroup=lower_uri
Tuesday 11 March 2008 10:09:41 am
cleanup worked good. But flatten.php resultet in this error
Fatal error: Call to a member function deleteStoredClassAttribute() on a non-object in /opt/lampp/www4/kernel/classes/ezcontentclass.php on line 912
The databsae im running on is quite large so it can be some strange timouts im getting here. Are there some mysql or php settings i could try?
Tuesday 11 March 2008 10:13:52 am
after cleanup i tried using --debug on the updateniceurl scripts. There is some database problems here.. getting this error..
Error: (eZMySQLDB) Query error: Duplicate entry '2631-4a6b8d8f22e40ab3978d6fc2a2a949ca' for key 1. Query: UPDATE ezurlalias_ml SET parent = 2631 WHERE parent = 20502
Thats just one of them.. theres loads of them
Im reseting the datbase and starting over the update again to see if that can help
Tuesday 28 October 2008 9:31:40 am
Error: (eZMySQLDB) Query error: Duplicate entry '2631-4a6b8d8f22e40ab3978d6fc2a2a949ca' for key 1. Query: UPDATE ezurlalias_ml SET parent = 2631 WHERE parent = 20502
Try clearing the table ezurlalias_ml and rerun updateniceurls.php again. ezurlalias_ml contains calculated url-alias from your articles / contentobjects and is generated when publishing content and/or running updateniceurls. I had some problems with ezP 4.0.0 as - according to the changelog for ezP 4.0.1 - there was an error in url-alias-logic turning ezurlalias_ml inconsistent. If you encounter the above errors, run
Truncate table ezurlalias_ml;
in your mysql-shell or phpmyadmin. There is no need to reset / reload the completely database as you would reset it to your old ezP (3.10).
Friday 28 November 2008 1:53:32 pm
Hi.
We also got an errormessage when running updateniceurls. We are upgradeing from 3.6.12 to 4.0.1.
Our errormessage said: "PHP Fatal error: Call to a member function on a non-object in kernel/classes/ezcontentobjecttreenode.php on line 3996"
To resolv this I hacked updateniceurls.php so it informed me about the object that caused the Fatal error.
And the result was inconsistent data in the table "ezcontentobject_tree". The colomn "path_identification_string" contained a path that did not exist in system. By edit the correct data the updateniceurls got back on track.
Thursday 04 February 2010 11:45:53 am
Am also having the same problem when I run the updateniceurl.php script. Am upgrading from 3.9.4 to 3.10.1
++PHP Fatal error: Call to a member function on a non-object in /www/ezpublish3.10.1/kernel/classes/ezcontentobjecttreenode.php on line 3996
Fatal error: eZ Publish did not finish its request
The execution of eZ Publish was abruptly ended, the debug output is present below.
With the debug option I find this error:
[ Feb 04 2010 11:12:46 ] [] eZCharTransform::groupCommands:
Transformation group urlalias_compat is not part of the active group list Groups in transform.ini
I will appreciate any assistance!
Brian
Tuesday 10 July 2012 2:54:30 pm
I run into the same problem while upgrading from 3.10.1 to 4.0.1
after some investigations, I think I found the problem ( and manage to fix it )
I found some entries in ezcontentobject_tree which have no parents (parent_id do NOT exist anymore in ezcontentobject_tree)
this makes updateniceurls.php crash with the following error :
"PHP Fatal error: Call to a member function attribute() on a non-object in ezcontentobjecttreenode.php on line 3959"
I manage to overcome this error by adding the following lines in updateniceurls.php
Line 1102 ---
... $nodeStartTime = microtime( true );
// ADDED TT -> create a table of all nodes in ezcontentobject_tree which parents do NOT exist anymore
$nodesHavingNoParent = $db->arrayQuery( 'select node_id from ezcontentobject_tree where parent_node_id not in (select node_id from ezcontentobject_tree)' );
$arrayNoParent = array();
foreach ( array_keys( $nodesHavingNoParent ) as $key ) {
array_push($arrayNoParent, $nodesHavingNoParent[$key]["node_id"]);
}
// -- TT
while ( !$done ) ....
Line 1119
... $node = $nodeList[ $key ];
// ADDED TT
// echo ( "Checking node_id:" . $node->attribute( 'node_id' ) . "\n" );
if (in_array($node->attribute( 'node_id' ), $arrayNoParent)) {
echo ( "\n" . "No Parents found for node_id:" . $node->attribute( 'node_id' ) . "\n" );
}else{
// -- TT
$hasChanged = $node->updateSubTreePath(); ....
Line 1138
... list( $column, $counter ) = displayProgress( $changeCharacter, $nodeStartTime, $counter, $nodeCount, $column ); // ADDED TT } // -- TT
The script runs now without any errors and simply ignore all nodes that were causing the problem.
Modified on Tuesday 10 July 2012 4:17:44 pm by Thierry Tournet
You must be logged in to post messages in this topic!