2012-05-23 2 views
7

На моем новом Xubuntubox я установил инструменты lamp-server, php, php-apc, добавил линию extension=apc.so в php.ini и перезагрузил систему. Apache и PHP, похоже, работают хорошо, но APC этого не делает.PHP: APC включен, но все еще не работает?

Так что я проверил, что файл apc.php бы сказать:

No cache info available. APC does not appear to be running. 

Но в информации PHP, кажется, должна быть включена. Посмотрите, что php -i | grep 'apc' говорит:

Additional .ini files parsed => /etc/php5/cli/conf.d/apc.ini, 
apc 
apc.cache_by_default => On => On 
apc.canonicalize => On => On 
apc.coredump_unmap => Off => Off 
apc.enable_cli => Off => Off 
apc.enabled => On => On    <- it is enabled 
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 => Off => Off 
apc.lazy_classes => Off => Off 
apc.lazy_functions => Off => Off 
apc.max_file_size => 1M => 1M 
apc.mmap_file_mask => no value => no value 
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.serializer => default => default 
apc.shm_segments => 1 => 1 
apc.shm_size => 32M => 32M 
apc.slam_defense => On => On 
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 

Как и ожидалось php -m | grep 'apc' также находит apc.

Знаете ли вы, что не хватает, что я не могу использовать его правильно?

+2

Убедитесь, что вы дали APC достаточное количество бара, 32M очень низкое (достаточно одного одного сайта Wordpress). Проверьте мой ответ там, чтобы узнать, как настроить APC http://stackoverflow.com/questions/3723316/warning-require-once-function-require-once-unable-to-allocate-memory-for-p – bokan

ответ

9

Есть способы запуска PHP.

Вы показываете конфигурацию CLI для PHP, и apc.php не использует ее.

Действительно, если вы проверите в своем браузере phpinfo(), вы увидите, что расширение APC не загружено.

Решение: Открыть в /etc/php5/cgi/conf.d/apc.ini (cgi не cli) и вставьте конфигурацию там, снова. Перезапустите веб-сервер (sudo service httpd restart) и вуаля!

Надеюсь, это поможет!

+0

ах, хорошо. Я думал, что автоматически созданного '/ etc/php5/apache2/conf.d/apc.ini' будет достаточно. Теперь с папкой '.../cgi/...' она работает с apache. Самое забавное, что кли все еще не работает. – erikbwork

+7

okay, для cli Мне просто нужно добавить еще одну строку в '/ etc/php5/cli/conf.d/apc.ini', в которой говорится:' apc.enable_cli = 1' – erikbwork

+0

Мой сервер также говорит, что APC включен, но find/имя apc.ini не показывает, что у меня есть файл apc.ini в любом месте. – KevinOrin

Смежные вопросы