Как узнать, включено ли кэширование PHP?

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

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

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

3 ответов


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

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


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

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

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

phpX.Y -i | grep apcu

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


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

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

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

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