Как узнать, включено ли кэширование 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 (также рекомендуется) направлено на снижение нагрузки на любую функциональность базы данных, которую вы можете использовать.
лично я бы посмотрел, какая функциональность вам требуется, и стремлюсь установить это - если, конечно, это уже не так.