APC + Class 'Yii' not found problem

Hi!

I’ve upgraded my Ubuntu that comes with PHP 5.3.2 instead of PHP 5.2.x, and since the upgrade if I turn APC extension on my Yii based (with some extensions) site wouldn’t work. Web3CMS, Yii Blog apps work fine with APC. I restarted Apache in order to clean APC cache, but the problem still exists.

Here’s the log snippet:

[Fri Jun 25 09:15:22 2010] [notice] caught SIGTERM, shutting down

[Fri Jun 25 09:15:23 2010] [notice] Apache/2.2.14 (Ubuntu) PHP/5.3.2-1ubuntu4.2 with Suhosin-Patch configured – resuming normal operations

[Fri Jun 25 09:15:25 2010] [error] [client 127.0.0.1] PHP Fatal error: Class ‘Yii’ not found in /mnt/linmedia/www/test/indexy.php on line 14, referer: http://test/indexy.php

[Fri Jun 25 09:15:25 2010] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://test/indexy.php

I use Yii 1.1.2, PHP 5.3.2-1ubuntu4.2 and APC 3.1.3p1

What could be the problem?

Maybe a bug in that APC version or some misconfiguration? Could you check the APC section in the output of phpinfo()?

Here you are!

APC Support enabled

Version 3.1.3p1

MMAP Support Enabled

MMAP File Mask /tmp/apc.CoUbBk

Locking type pthread mutex Locks

Revision $Revision: 286798 $

Build Date Apr 18 2010 06:44:34

Directive Local Value Master Value

apc.cache_by_default On On

apc.canonicalize On On

apc.coredump_unmap Off Off

apc.enable_cli Off Off

apc.enabled On On

apc.file_md5 Off Off

apc.file_update_protection 2 2

apc.filters no value no value

apc.gc_ttl 3600 3600

apc.include_once_override On On

apc.lazy_classes Off Off

apc.lazy_functions Off Off

apc.max_file_size 1M 1M

apc.mmap_file_mask /tmp/apc.CoUbBk /tmp/apc.CoUbBk

apc.num_files_hint 1000 1000

apc.preload_path no value no value

apc.report_autofilter Off Off

apc.rfc1867 Off Off

apc.rfc1867_freq 0 0

apc.rfc1867_name APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS

apc.rfc1867_prefix upload_ upload_

apc.rfc1867_ttl 3600 3600

apc.shm_segments 1 1

apc.shm_size 48 48

apc.stat On On

apc.stat_ctime Off Off

apc.ttl 0 0

apc.use_request_time On On

apc.user_entries_hint 4096 4096

apc.user_ttl 0 0

apc.write_lock On On

I have include_once_override Off. Maybe try that?

Yes, it’s solved my problem! Thanks!

(apparently the apc config file was changed during the upgrade)