Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

invalid shutdown callback when eAccelerator is enabled #4439

Closed
mattab opened this Issue · 9 comments

3 participants

Matthieu Aubry Anonymous Piwik user Thomas Steur
Matthieu Aubry
Owner

Reported in forum http://forum.piwik.org/read.php?2,108845

triggered on php 5.4.23 -> caused by a critical bug in eAccelerator.

Turns out this project is dead, not maintained, and should not be used.

Please ask your sysadmin / web host to use APC instead!

Matthieu Aubry
Owner

In 8318219: Refs #4439 Registering the callback in the frontcontroller and using a static method rather than a closure

Matthieu Aubry
Owner

Maybe you also get this error:

Warning: usort() expects parameter 2 to be a valid callback, no array or string given in /usr/www/users/.../piwik/core/View.php on line 212

in which case it's the same problem. Please comment here with your PHP version, to see if it is a wide spread issue. Cheers

Anonymous Piwik user

i got the same problem using PHP 5.4.23 :

Warning: register_shutdown_function(): Invalid shutdown callback '' passed in /usr/www/users/.../piwik/index.php on line 66

Backtrace -->

#0 Piwik\Error::errorHandler(...) called at [:]
#1 register_shutdown_function(...) called at [/usr/www/users/.../piwik/index.php:66]

Thomas Steur
Owner

I tried to reproduce it with different PHP versions but without success. I will close it for now but if anyone still experiences some issues please reopen and send us (hello at piwik.org) - if possible - ftp and piwik credentials so that we are able to reproduce and debug the issue. It seems to be related to a specific configuration.

Anonymous Piwik user

Will send login data and everything needed do your email adress.

Thomas Steur
Owner

@Brevis thx for sending the details. I found the cause for your problems and other people having a server at Hetzner.

The problem is caused by the eAccelerator ( http://eaccelerator.net/ ) extension. The related ticket can be found here: eaccelerator/eaccelerator#12 . The ticket is already a year old and eAccelerator seems to be not under active development so we do not expect a fix for this issue soon.

The solution is to disable eAccelerator in PHP.ini:

eaccelerator.enable = 0

Only disabling the optimizer as recommended here eaccelerator/eaccelerator#12 (comment) did not solve the issue for us.

Note: Disabling eAccelerator leads to less performance, we recommend to install and use another PHP accelerator like APC http://en.wikipedia.org/wiki/List_of_PHP_accelerators#Alternative_PHP_Cache_.28APC.29 instead.

Thomas Steur
Owner

In ab6070f: refs #4439 disable eAccelerator if enabled (just disabling optimizing did not work) and display a message in the admin UI. Also disabled eAccelerator during tracking. We might need to move the method to detect eAccelerator to another place, not sure if this is the best one

Matthieu Aubry
Owner

In 175b624: Refs #4439 inlining the message as to not create new translation for this edge case.

Matthieu Aubry
Owner

I suggested to eAccelerator that they mark their project as deprecated eaccelerator/eaccelerator#44

Matthieu Aubry mattab added this to the 2.1 - Piwik 2.1 milestone
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4439 Registering the callback in the frontcontroller and using …
…a static method rather than a closure
8318219
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Thomas Steur tsteur refs #4439 disable eAccelerator if enabled (just disabling optimizing…
… did not work) and display a message in the admin UI. Also disabled eAccelerator during tracking. We might need to move the method to detect eAccelerator to another place, not sure if this is the best one
ab6070f
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Matthieu Aubry mattab Refs #4439 inlining the message as to not create new translation for …
…this edge case.
175b624
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.