2012-07-01 146 views
3

我正在寻找一种方法来分享请求之间的PHP资源。首先,我想分享解析的XML。我有一些在readonly模式下使用的大型XML,目前我必须为每个HTTP请求加载和解析它。PHP和请求之间共享资源

我读过这样的:http://php.net/manual/en/function.shm-put-var.php和其它共享内存API文档,我知道有存储资源共享内存中没有直接的方法。这就是我在这里问的原因。因此,我有XML,我以只读模式(执行XPath请求)使用它,这个XML很大,我正在寻找一些方法来消除为每个HTTP请求加载和解析它的需要。有关于此的任何想法或建议?

谢谢。

回答

3

如果您在服务器上启用APC,看看apc_store

http://php.net/manual/de/function.apc-store.php

不像PHP许多其他机制,使用 apc_store(储存变量)的请求之间将继续存在(直到从缓存中删除值 )

+0

另请参阅'shmop'。 http://stackoverflow.com/a/8631902/632951 – Pacerier

0

您可以使用会话这个http://www.tizag.com/phpT/phpsessions.php那他们是什么打造。

随着网站变得更加复杂,代码必须支持 它。当你到一个阶段,你的网站需要从一个网页到另一个沿用户传递 数据,它可能是时候开始考虑 如何使用PHP会话。

+0

你确定它的好主意,让N-二兆XML的会议? :) –

0

也许你ca n使用memcache并将对象或文件保存在内存缓存中。然后任何Webservice都可以加载该文件并使用它。 Memcache速度非常快,您可以从许多Web服务器访问它。