PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-APC中的操作码缓存和丢失的文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我们正在使用APC作为操作码缓存.有没有办法让APC缓存文件的不存在?我们已经将apc.stat = 0和apc.include_once_override = 1设置了.还有什么要做的事情来改善在文件系统上可能不存在的文件调用include_once的性能吗?如果存在,显然我们希望将其包括在内.但是,如果不存在,它将永远不会存在,并且我们不希望PHP在每次检查请求时都在文件调用open().

对于某些背景:我们有一个基础站点,但会根据每个客户对站点进行自定义.一些客户有一个自定义登录页面,另一些则有完全独特的页面,等等.

我们以一种不寻常的方式使用Zend框架,以允许我们根据需要重写控制器.我们的站点可能有一个名为LoginController的控制器,在文件controllers / LoginController.PHP中定义.但是,我们的客户端“ Company”可能需自定义登录页面,因此我们将在目录controllers / company / LoginController.PHP中定义一个名为Company_LoginController的新类. (此命名约定使我们能够与Zend Framework的“模块”概念保持一致.)

当我们处理类时,我们基本上会执行以下操作:

include_once APPLICATION_PATH . '/controllers/company/LoginController.PHP';
if (class_exists("Company_LoginController")) {
    echo 'customer-specific controller exists';
} else {
    include_once APPLICATION_PATH . '/controllers/LoginController.PHP';
    echo 'customer-specific controller does not exist; using default';
}

如果文件/controllers/company/LoginController.PHP存在,则APC将在第一个请求上对其进行缓存,而不再从文件系统中再次获取它.但是,如果文件/controllers/company/LoginController.PHP不存在,我不希望APC多次检查该文件是否存在.有什么办法做到这一点?

解决方法:

您能在公司目录中创建空文件吗?由于APC不会两次加载它们,因此,在服务器首次启动时让一些空文件“加载”不会有任何危害.

大佬总结

以上是大佬教程为你收集整理的php-APC中的操作码缓存和丢失的文件全部内容,希望文章能够帮你解决php-APC中的操作码缓存和丢失的文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: