Domanda

I have a Laravel 3 project, running on a plesk 11.5 CentOS 4(dedicated). It used to be on an IIS server, but i had to migrate it to plesk, since the company i'm working for is dumping the IIS server. Everything seemed to be running smoothly, until i logged out from my application, at first i got a WSOD (white screen of death), then i enabled php error reporting, and this is the error that was displayed:

Fatal error: Cannot override final method Laravel\Database\Eloquent\Model::sync()

This is a very strange error, since i have no method called Sync in any of my classes, and needless to say that there was no such error while the project was running on IIS.

I tried several different combinations of session/cache drivers, the only one that seems to be working is the APC driver.

When i have the APC driver enabled for cache and session, the above Fatal error is not displayed and everything works correctly. The PROBLEM is that i have given the Session Lifetime a value of 60(minutes) but it is completely ignored, meaning that the user is logged out after 2 or 3 minutes. I've been to the Laravel IRC channel with this issue, some people kindly suggested to tweak the APC memory and ttl (time to leave) settings, but with no luck unfortunately :(.

Here are some APC settings from my server configuration:

apc.gc_ttl 3600

apc.shm_size 1024M

apc.shm_strings_buffer 32M

I desperately need help if anyone has any to offer! This is for a live running project and i need to find a solution asap.

È stato utile?

Soluzione

I had the exact same issue and couldn't find a solution. I was going round in circles trying to figure out what on earth was going wrong.

I finally came across this post:

Fatal error: Cannot override final method

You need to make sure that the apc.include_once_override setting is set to 0. In your apc.ini file set like so:

apc.include_once_override=0

This error seems to be caused by caching of included classes.

Altri suggerimenti

I solved the problem after looking around the plesk panel.

The problem was that i had "Run PHP as FastCGI application" selected.

I switched to "Run PHP as CGI application" and everything works perfectly.

I'm not sure what the exact source of the problem was, only that FastCGI triggered the error.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top