Intereting Posts
Получить значения из $ i, с нарушенным порядком Как вы можете читать QR-коды в PHP? Полезно ли использовать библиотеку Active Record для CodeIgniters для управления базами данных MySQL или просто использовать SQL? Как реализовать переменную-член только для чтения в PHP? Экспорт таблицы HTML в csv в браузере Chrome Chrome проблемы с немецкими умляутами в php json_encode Как использовать javascript внутри функции эха PHP? Как я могу использовать транзакцию db в laravel? ROWS не возвращается в Youtube Analytics API? Какое действие я могу использовать в WordPress, который запускается всякий раз, когда пользовательская почта сохраняется или обновляется? Magento SOAP API – исключение PHP для вызова метода входа: «похоже, что у нас нет XML-документа» Ошибка PHP: невозможно изменить информацию заголовка – уже отправленные заголовки Как загрузить объект BitmapData прямо на мой сервер? Строка прерывания Regex на основе и / или в концепции поиска PHP: Позволяет пользователю загружать приобретенный файл ТОЛЬКО

Как заставить APC (PHP Cache) работать?

Я читал о APC, что он ускоряет работу нескольких сайтов php-файлов. Поэтому у меня есть этот конкретный проект на PHP со многими файлами, и я обнаружил, что require_once и синтаксический анализ только определений классов (без их выполнения) занимает больше времени.

Поэтому я установил APC на моем сервере CentOS 5. Я переместил apc.php на свой веб-сервер, и он отображает

Hits: 1 (50.0%) Misses: 1 (50.0%) Cached Files 1 (281.1 KBytes) 

И я могу перейти на сайт и изменить подстраницы и т. Д., И apc.php все еще показывает только один кешированный файл?

И в phpinfo () это показывает, что:

Поддержка APC

Я не знаю, что делать. Работает ли APC (например, phpinfo () sais) или нет? Только один кешированный файл не так много после просмотра некоторых страниц на моем сайте.

И еще больше, как диагностировать ошибки и убедиться, что APC работает? Я просматривал

apc.mmap_file_mask /tmp/apc.QnLqNf /tmp/apc.QnLqNf

Directory / tmp, но у меня нет файлов apc там, как указано в phpinfo.

Пожалуйста, помогите мне проверить, работает ли APC, а если нет, что может быть проблемой.

Solutions Collecting From Web of "Как заставить APC (PHP Cache) работать?"

APC может использоваться двумя способами:

  1. Как кеш-код операции. У вас есть поддержка, поэтому она работает; а также
  2. Как общий кэш. Вы должны явно использовать API для этого.

(1) является основным преимуществом. Это сокращает время выполнения скрипта, сохраняя результаты кода операции «компиляции» скриптов.

Что касается работы с инструкциями по установке :

Примечание. В Windows APC необходим временный путь для существования и может быть доступен для записи веб-сервером. Он проверяет переменные окружения TMP, TEMP, USERPROFILE в этом порядке и, наконец, пытается установить каталог WINDOWS, если ни один из них не установлен.

Поэтому вам не нужно это (или видеть какую-либо активность) в CentOS.

При этом require / include лучше, чем require_once / include_once / autoload, но это имеет значение только в том случае, если вы делаете это с сотнями файлов.

Является ли ваш сайт в основном одним файлом PHP, который затем включает или требует других файлов? Это может быть зарегистрировано как один файл. Кроме того, насколько я знаю, условная логика include / require может не кэшировать, как ожидалось, хотя это может быть просто слухом!

Вы проверили файлы журнала? посмотрите /var/log/apache2/error.log или, тем не менее, его имя под вашим дистрибутивом.

Кроме того, попробуйте сделать 2-3 php-файла, наведите на них указатель, а затем проверьте, сколько файлов php кэшируется кэшем APC.

Не уверен в APC, но я бы рекомендовал Eaccelerator ( http://eaccelerator.net/ ). Некоторое время назад я проверил его и действительно изменил ситуацию.

APC фактически не использует кеш между процессами. Попробуйте настроить PHP-процесс на fork Childs и позволить основному PHP-процессу работать.

См. Раздел: Как разделить кеш APC между несколькими процессами PHP при работе в FastCGI?

В ветке APC 3.1.5dev была введена новая опция, позволяющая отключить кеш-код операции. По-видимому, он отключен по умолчанию.

Попробуйте добавить это в конфигурационный файл APC:

 apc.enable_opcode_cache=1 

http://www.litespeedtech.com/support/forum/showthread.php?t=3761

«APC не работает с PHP suEXEC, так как каждый PHP-процесс будет использовать собственную кэш-память, а не общий.

Вы должны попробовать eAccelerator + / dev / shm, если вам нужно использовать PHP suEXEC. "

хорошо получилась такая же проблема, кажется PHP suEXEC + APC проблема