douyong6589
douyong6589
2018-07-19 17:47
浏览 25
已采纳

在php中缓存包含的远程文件

I am including a remote file after making

allow_url_include = On

The file is included using include_once in file.php

include_once ("http://abcd.com/func.php");

I am using simple LAMP stack.

My question is that for every request which comes to the server and uses file.php, func.php will be pulled from abcd.com. Within a request if file.php is included many times in other files will func.php be pulled every time?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanhuayong6687
    duanhuayong6687 2018-07-19 18:24
    已采纳

    The _once means you will load the file once per request. But will load it again on a new request. If you want to cache some response of this file make a return in that included file and save the result anywhere you like. For example in a textfile (i.e. as JSON-string). On the next request you check if that file exists.

    However saving in a textfile may not be the most perfomant way to do this, but probably faster than requesting this file every time. Have a look at Memcache

    Include into a var: $data = include_once('...'); (include has to have a return)

    $data = cached_include('..') (the function you write to get cached data)

    点赞 评论

相关推荐