我曾经认为缓存非常难安装,所以从未尝试过...在了解了APC之后,它似乎很容易安装。我一直以为我需要修改应用程序中的大量PHP代码才能使用它,哈哈。
无论如何,我想安装APC。我可以使用phpinfo()并注意到它没有出现在页面上,因此它尚未安装。这是否也适用于其他各种缓存系统?如果已经安装了另一个缓存系统,我不想安装APC,因为我不确定它是否会引起冲突。主机是否会自动为您安装这些软件?
有哪些步骤可以检查是否启用了任何类型的缓存?
要以程序方式检查:
if(extension_loaded('apc') && ini_get('apc.enabled'))
{
echo "APC enabled!";
}
注意:自版本5.5起,PHP现在包含了一个Opcode缓存/优化器(默认情况下禁用)。如果你仍然想运行APC,那么就有一个名为APCu的扩展,正如@alcohol在评论中提到的那样。如果您正在使用该扩展,则需要将extension_loaded('apc')替换为extension_loaded('apcu')。或者您可以从命令行验证它:phpX.Y -i | grep apcu
。对于那些正在使用APCU(替代APC)的人
只需在命令行中运行:
php -r "var_dump(function_exists('apcu_enabled') && apcu_enabled());"
我认为,大多数 PHP 缓存功能都是以扩展的形式存在的,这些扩展应该会在 phpinfo() 调用中显示出来(尽管你需要识别它们)。
你会发现一些用 PHP 编写的缓存库,可以缓存页面加载,特别是当内容是从数据库或其他网络请求生成时,但这些通常需要了解该库并需要修改代码。
这也取决于你要寻找什么类型的缓存,因为各种扩展和程序执行不同的任务。虽然 APC 可以缓存你的半编译/解释代码以提高性能,但像 memcache 这样的东西(也推荐使用)旨在减少你可能正在使用的任何数据库功能的负载。
个人而言,我会寻找所需的功能,并尝试安装它 - 当然,除非它已经存在。