我正在尝试使用AWS CloudFront加载诸如index.php
之类的PHP文件。
文档说明-
如果要创建网络发行版,则:
例如,加快静态和动态内容的分发, .html,.css,.php和图形文件。使用分发媒体文件 HTTP或HTTPS。添加,更新或删除对象,并从中提交数据 网络表单。使用直播流可以实时流式传输事件。
但是,当我将PHP文件上传到相对的CloudFront存储桶时,最终会下载文件并打开它。如何允许我托管PHP文件?
答案 0 :(得分:2)
但是,当我将PHP文件上传到相对的CloudFront存储桶中
没有 CloudFront存储桶这样的东西,因此您可能指的是S3存储桶,该存储桶在CloudFront后面配置为原始服务器。
CloudFront可以处理动态内容,例如可能由PHP生成的内容,但是PHP站点必须托管在支持它的服务器上,而不是S3。
您可以在Amazon Simple Storage Service(Amazon S3)上托管静态网站。在静态网站上,单个网页包含静态内容。它们可能还包含客户端脚本。相比之下,动态网站依赖于服务器端处理,包括服务器端脚本,例如PHP ,JSP或ASP.NET。 Amazon S3不支持服务器端脚本。 (添加了重点)
https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
请参见AWS Web Site Solutions,以获取有关托管包含静态或动态内容的网站的选项,请记住,PHP需要一种支持服务器端脚本和动态内容的解决方案,因此并非此处提供的所有解决方案(包括S3)都适合您需要...但是这些都与CloudFront兼容-CloudFront仅负责交付呈现的内容,而不是原始呈现。
答案 1 :(得分:1)
CloudFront旨在为最终用户提供内容,而不执行您的代码。您的PHP文件将位于运行PHP的EC2实例和一个Web服务器(Apache,Nginx)上,然后可以将其放在CloudFront后面以获得好处。然后,这将生成HTML供CloudFront使用。 CloudFront本身不处理处理,仅处理静态HTML。当将CloudFront与S3结合使用时,它将直接向最终用户提供内容。
我不确定您在哪里找到了该代码段,但简介似乎没有为我列出.php。
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
Amazon CloudFront是一项网络服务,可加快您的分发速度 静态和动态Web内容,例如.html,.css,.js和图片 文件发送给您的用户。