PHP包含用于CDN上的静态远程HTML文件

时间:2019-07-04 22:28:50

标签: php cdn

我有一个可创建静态HTML文件的应用。这些文件旨在托管在远程CDN上,它们是标准的.html文件。

我想知道两件事:

  1. 是否可以在这些文件上包含PHP?
  2. 您这样做的效果可能很好吗?

1 个答案:

答案 0 :(得分:1)

可以做到吗?

要直接回答问题,可以,从技术上讲,您可以使用PHP include函数包含一个远程文件。为此,您只需要在php.ini中将allow_url_include指令设置为On

具体取决于您打算将其用于什么,我也鼓励您查看file_get_contents

要为file_get_contents启用远程文件,您需要将allow_url_fopen设置为On

应该完成吗?

要直接回答第二个问题,有很多因素将决定您是否将获得良好的绩效,但总的来说,不太可能对绩效产生重大影响。

但是,还有其他注意事项:

  • 从安全角度考虑,不建议启用这两个指令
  • 通过从服务器而不是CDN传递文件,您将失去CDN的所有优势(见下文)
  • 真的需要 吗?

CDN

关于CDN的一个常见误解是,它们所做的只是从更近的位置提供数据,从而使请求速度更快...这是错误的!

CDN的好处是无穷的,但是我在下面列出了一些(显然取决于配置和提供程序):

  • 它们去除了不必要的标题
  • 由于CDN往往位于不同的,因此没有cookie的域上,因此未发送任何cookie
  • 他们处理压缩问题
  • 他们从最近的位置提供您的内容
  • 他们处理缓存
  • ...还有更多

通过从服务器提供文件,您将失去所有上述好处,除非您当然将服务器设置为以相同的方式处理请求(这可能需要一些时间)。

总结;就个人而言,我会避免将您的.html文件远程包含到PHP中,而只是将它们从CDN直接提供给客户端。

要了解如何进一步优化站点并查看大多数CDN提供的许多好处,请查看GTMetrix