Как узнать, включено ли кэширование PHP? - PullRequest
23 голосов
/ 09 декабря 2010

Раньше я думал, что кэширование очень сложно установить, поэтому я никогда не делал этого ... После прочтения о APC, установка кажется довольно простой. Я всегда думал, что мне придется изменить много кода PHP внутри моего приложения, чтобы использовать его lol.

В любом случае, я хочу установить APC. Я могу использовать phpinfo () и заметить, что он не указан на странице, поэтому он не установлен. Это также показывает для различных других систем кеша там? Я не хочу устанавливать APC, если у меня уже установлена ​​другая система кэширования, так как я не уверен, что это вызовет конфликты. Хосты автоматически устанавливают их для вас?

Какие шаги нужно проверить, чтобы увидеть, включено ли какое-либо кэширование?

Ответы [ 3 ]

65 голосов
/ 17 декабря 2012

Чтобы проверить это программно:

if(extension_loaded('apc') && ini_get('apc.enabled'))
{
    echo "APC enabled!";
}

Примечание: Начиная с версии 5.5, в PHP теперь включен кэш / оптимизатор кода операции (хотя по умолчанию он отключен).Если вы все еще хотите запустить APC, есть расширение APCu, о котором @alcohol упоминает в комментарии.Если вы используете это расширение, вам нужно заменить extension_loaded ('apc') на extension_loaded ('apc u ') .Или вы можете проверить это из командной строки:

phpX.Y -i | grep apcu

Убедитесь, что вы используете тот же двоичный файл PHP, который используется вашим веб-сервером.

12 голосов
/ 09 декабря 2010

Все установленные расширения для кэширования будут перечислены в вашем файле phpinfo (); Они должны быть указаны в качестве одного из аргументов в поле «Настроить команду» (например, -enable-apc) и должны иметь свои собственные разделы где-то внизу страницы.

Два самых популярных модуля кэширования PHP - это APC и Memcache.

0 голосов
/ 09 декабря 2010

Я думаю, что, как правило, большинство функций кэширования для PHP будет в форме расширений, и они должны отображаться в вызове phpinfo () (хотя вам придется их распознавать).

Вы найдете некоторые из них, написанные на PHP, которые могут кэшировать загрузки страниц, особенно.когда этот контент генерируется из базы данных или из других веб-запросов и т. д., но это, как правило, требует знания указанной библиотеки и требует изменения вашего кода.

Это также зависит от того, какой тип кэширования вы ищете, поскольку различные расширения и программы выполняют разные задачи.В то время как APC кэширует ваш полускомпилированный / интерпретируемый код для повышения производительности, кое-что, например memcache (также рекомендуется), направлено на снижение нагрузки на любые функции базы данных, которые вы можете использовать.

Лично я бы посмотрел, какие функции вам нужны, и попытался бы их установить - если, конечно, это уже так.

...