eZ Community » Forums » Install & configuration » Php 5.4.1 : No call method defined...
expandshrink

Php 5.4.1 : No call method defined for function

Php 5.4.1 : No call method defined for function

Thursday 03 May 2012 8:47:28 pm - 11 replies

Hello everyone,

After upgrading a php5 version to 5.4.1 i encounter empty ezpublish websites with lots of debug errors like this one :

No call method defined for function 'list_count' in module 'content'

Does anyone has an idea about what can go wrong ?

Thank you in advance,

Cheers

Friday 04 May 2012 7:47:15 am

Hello

What version of eZ Publish do you use ?
This is indeed a known issue before version 2012.1 / 4.7EE. PHP 5.4 compatibility starts as of these versions.

Cheers !

Friday 04 May 2012 10:43:11 am

Thank you Jérôme...newbie error...was stilll using a 4.3 on this.

Everything good now.

Tuesday 28 May 2013 6:19:56 am

Is there any solution apart from upgrading eZ Publish from version 4.3 to version 2012.1 ? That's a long upgrade process and other changes in eZ Publish would need to be dealt with too... sad.gif Emoticon

Andy

Friday 31 May 2013 2:04:46 pm

@Andy I'm afraid not. Maintaining multiple separate supported branches (4.3.x) takes a lot of effort, and I fear we currently do not have enough manpower for that...

Tuesday 05 November 2013 10:04:35 am

Fast bypass until upgrading eZ to current version. Works for me with  PHP 5.4.13

eZ version 4.0.1

save code below as ez_php_5.patch in main eZpublish directory

execute:

$> cat ez_php_5.patch | patch -p0

diff -rupN lib_original/ezutils/classes/ezmodulefunctioninfo.php lib/ezutils/classes/ezmodulefunctioninfo.php
--- lib_original/ezutils/classes/ezmodulefunctioninfo.php       2008-08-20 17:39:46.000000000 +0200
+++ lib/ezutils/classes/ezmodulefunctioninfo.php        2013-11-05 09:24:25.000000000 +0100
@@ -139,13 +139,13 @@ class eZModuleFunctionInfo
             return false;
         }
         $functionDefinition = $this->FunctionList[$functionName];
-        if ( !isset( $functionName['call_method'] ) )
+         if ( !isset( $functionDefinition['call_method'] ) )
         {
             eZDebug::writeError( "No call method defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
             return false;
         }
-        if ( !isset( $functionName['parameters'] ) )
+         if ( !isset( $functionDefinition['parameters'] ) )
         {
             eZDebug::writeError( "No parameters defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
@@ -184,13 +184,13 @@ class eZModuleFunctionInfo
             return null;
         }
         $functionDefinition = $this->FunctionList[$functionName];
-        if ( !isset( $functionName['call_method'] ) )
+         if ( !isset( $functionDefinition['call_method'] ) )
         {
             eZDebug::writeError( "No call method defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
             return null;
         }
-        if ( !isset( $functionName['parameters'] ) )
+         if ( !isset( $functionDefinition['parameters'] ) )
         {
             eZDebug::writeError( "No parameters defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
diff -rupN lib_original/ezutils/classes/ezmoduleoperationinfo.php lib/ezutils/classes/ezmoduleoperationinfo.php
--- lib_original/ezutils/classes/ezmoduleoperationinfo.php      2008-08-20 17:39:45.000000000 +0200
+++ lib/ezutils/classes/ezmoduleoperationinfo.php       2013-11-05 09:32:54.000000000 +0100
@@ -138,19 +138,19 @@ class eZModuleOperationInfo
             return null;
         }
         $operationDefinition = $this->OperationList[$operationName];
-        if ( !isset( $operationName['default_call_method'] ) )
+        if ( !isset( $operationDefinition['default_call_method'] ) )
         {
             eZDebug::writeError( "No call method defined for operation '$operationName' in module '$moduleName'",
                                  'eZModuleOperationInfo::execute' );
             return null;
         }
-        if ( !isset( $operationName['body'] ) )
+        if ( !isset( $operationDefinition['body'] ) )
         {
             eZDebug::writeError( "No body for operation '$operationName' in module '$moduleName'",
                                  'eZModuleOperationInfo::execute' );
             return null;
         }
-        if ( !isset( $operationName['parameters'] ) )
+        if ( !isset( $operationDefinition['parameters'] ) )
         {
             eZDebug::writeError( "No parameters defined for operation '$operationName' in module '$moduleName'",
                                  'eZModuleOperationInfo::execute' );
 

Modified on Monday 13 January 2014 3:20:54 pm by Jan Sag

Saturday 17 May 2014 1:17:54 pm

Quote from Jan Sag :

Fast bypass until upgrading eZ to current version. Works for me with  PHP 5.4.13

eZ version 4.0.1

save code below as ez_php_5.patch in main eZpublish directory

execute:

$> cat ez_php_5.patch | patch -p0

diff -rupN lib_original/ezutils/classes/ezmodulefunctioninfo.php lib/ezutils/classes/ezmodulefunctioninfo.php
--- lib_original/ezutils/classes/ezmodulefunctioninfo.php       2008-08-20 17:39:46.000000000 +0200
+++ lib/ezutils/classes/ezmodulefunctioninfo.php        2013-11-05 09:24:25.000000000 +0100
@@ -139,13 +139,13 @@ class eZModuleFunctionInfo
             return false;
         }
         $functionDefinition = $this->FunctionList[$functionName];
-        if ( !isset( $functionName['call_method'] ) )
+         if ( !isset( $functionDefinition['call_method'] ) )
         {
             eZDebug::writeError( "No call method defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
             return false;
         }
-        if ( !isset( $functionName['parameters'] ) )
+         if ( !isset( $functionDefinition['parameters'] ) )
         {
             eZDebug::writeError( "No parameters defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
@@ -184,13 +184,13 @@ class eZModuleFunctionInfo
             return null;
         }
         $functionDefinition = $this->FunctionList[$functionName];
-        if ( !isset( $functionName['call_method'] ) )
+         if ( !isset( $functionDefinition['call_method'] ) )
         {
             eZDebug::writeError( "No call method defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
             return null;
         }
-        if ( !isset( $functionName['parameters'] ) )
+         if ( !isset( $functionDefinition['parameters'] ) )
         {
             eZDebug::writeError( "No parameters defined for function '$functionName' in module '$moduleName'",
                                  'eZModuleFunctionInfo::execute' );
diff -rupN lib_original/ezutils/classes/ezmoduleoperationinfo.php lib/ezutils/classes/ezmoduleoperationinfo.php
--- lib_original/ezutils/classes/ezmoduleoperationinfo.php      2008-08-20 17:39:45.000000000 +0200
+++ lib/ezutils/classes/ezmoduleoperationinfo.php       2013-11-05 09:32:54.000000000 +0100
@@ -138,19 +138,19 @@ class eZModuleOperationInfo
             return null;
         }
         $operationDefinition = $this->OperationList[$operationName];
-        if ( !isset( $operationName['default_call_method'] ) )
+        if ( !isset( $operationDefinition['default_call_method'] ) )
         {
             eZDebug::writeError( "No call method defined for operation '$operationName' in module '$moduleName'",
                                  'eZModuleOperationInfo::execute' );
             return null;
         }
-        if ( !isset( $operationName['body'] ) )
+        if ( !isset( $operationDefinition['body'] ) )
         {
             eZDebug::writeError( "No body for operation '$operationName' in module '$moduleName'",
                                  'eZModuleOperationInfo::execute' );
             return null;
         }
-        if ( !isset( $operationName['parameters'] ) )
+        if ( !isset( $operationDefinition['parameters'] ) )
         {
             eZDebug::writeError( "No parameters defined for operation '$operationName' in module '$moduleName'",
                                  'eZModuleOperationInfo::execute' );
 

I have 2 ezpublish 4.3  installations with PHP 5.5 but I still had this problem

Just run this patch in one of them and perfectly solved my issue but in another one FAILED and made me to manually copy twi files from another installation and It also solved my problem then.

 

Thanks a lot man happy.gif Emoticon

Wednesday 10 September 2014 8:34:12 pm

Hello,

The patch would not apply for me cleanly so I re-implemented it manually.

To help prevent the problems I ran into, I have converted the above shared patch into a GitHub Gist: https://gist.github.com/brookinsconsulting/88d5f62082c70fdf3c91

I have tested the above gist patch with eZ Publish 4.6.0 and PHP 5.4.

Let us know what you think ...

I hope this helps others!

Cheers,
Heath 

Wednesday 17 September 2014 8:41:48 pm

Hello,

Today I ran into the same problem using an older eZ Publish 4.4 install, the patch would not apply for me cleanly so I re-implemented it manually.

To help prevent the problems I ran into, I have converted the above shared patch into a GitHub Gist: https://gist.github.com/brookinsconsulting/7a9531b25a324ea2240f

I have tested the above gist patch with eZ Publish 4.4.0 and PHP 5.4.

Let us know what you think ...

I hope this helps others!

Cheers,
Heath

Wednesday 06 May 2015 1:01:14 pm

Hello,

Thank you very much for this patch for PHPv5.4 !!

It helps me a lot happy.gif Emoticon

Best regards

Tuesday 16 January 2018 6:41:08 pm

Quote from // Heath :

Hello,

The patch would not apply for me cleanly so I re-implemented it manually.

To help prevent the problems I ran into, I have converted the above shared patch into a GitHub Gist: https://gist.github.com/brookinsconsulting/88d5f62082c70fdf3c91

I have tested the above gist patch with eZ Publish 4.6.0 and PHP 5.4.

Let us know what you think ...

I hope this helps others!

Cheers,
Heath 

sorry for my silly question but i did not understandhow to run this patch

OK silly silly i am i jsut saw on github the code

   <span>cd /path/to/ez; patch -s -p0 < kernel_patch_for_ezpublish46_lib_ezutils_for_php54.patch
</span>
 

Modified on Tuesday 16 January 2018 6:45:41 pm by Stefano Gattuso

Tuesday 16 January 2018 6:47:58 pm

btw now i get Internal error̈́ when i content tree is loading sad.gif Emoticon

expandshrink

You must be logged in to post messages in this topic!

36 542 Users on board!

Forums menu

Proudly Developed with from