【问题标题】:avoid access syscall with php apc避免使用 php apc 访问系统调用
【发布时间】:2014-05-22 16:30:40
【问题描述】:

我正在尝试避免对 apache+php 网站进行任何不需要的系统调用。

到目前为止,我做了以下更改:

  • apc.stat = false(避免 apc 检查文件是否有更新)
  • 使用include 而不是include_once(以避免获取文件的真实路径)
  • include 使用绝对路径而不是相对路径
  • 已禁用 xdebug 扩展

在测试using strace 时,我没有看到任何stat 调用(上述更改删除了它们),但我仍然看到access 调用(每个包含的文件一个):

24592      0.000157 access("/var/www/testweb/vendor/vivid-planet/koala-framework/Kwf/Cache/Simple.php", F_OK) = 0
24592      0.000215 access("/var/www/testweb/vendor/zf1/zend-registry/library/Zend/Registry.php", F_OK) = 0

是什么原因造成的,我该如何避免这些?

【问题讨论】:

    标签: php apc system-calls strace


    【解决方案1】:

    我可以找到 access 系统调用的原因,它是 Composer ClassLoader 中的一个 file_exists。

    为了避免这种情况,我似乎必须编写自己的加载器......

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 1970-01-01
      • 2011-10-27
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      相关资源
      最近更新 更多