我正在尝试将基于云代工厂的简单PHP网站部署到Swisscom Application Cloud。
我的网站在本地工作正常,由Apache提供服务。
我已经关注了tutorial,但我在某些方面并不清楚。
在本教程中,检查应用程序是否正常工作的方法是通过php -S
在php中的内置Web服务器中运行它。这对我不起作用,因为我的网站有html
个php
文件扩展名,内置服务器无法正确解释这些文件。在Apache中,我可以在httpd.conf
文件中配置得很好,但在这里我不知道如何配置这样的行为。
我很好,因为我仍然可以检查本地通过Apache服务的网站。问题是它看起来在云中这也是运行应用程序的方式,虽然我在文档中找不到更多信息。
我很惊讶这就是应用程序在生产中的运行方式,因为the php documentation说明了有关内置服务器的内容:
“它不是一个功能齐全的网络服务器。它不应该是 用于公共网络。“
Web应用程序是否在Swisscom Application Cloud中的Apache上运行?如果是,我如何获得配置httpd.conf
和php.ini
文件的权限?如果不是,我该如何配置我的应用程序所需的特殊行为?
更新
这是一个示例php应用程序,它总结了我想要实现的目标:将其部署在云代工厂将html文件解释为php文件。
https://github.com/atineoSE/sample-php-app-cloudfoundry
按照@ daniel-mikusa的文档链接,我添加了与.bp-config/httpd/extra/httpd-mime.conf
下的mime类型相关的特殊配置。但是,这并不像预期的那样有效。从firefox访问,我被提示下载该文件。当我通过Apache在httpd.conf
文件中使用相同的指令在本地提供它时,它工作正常。
答案 0 :(得分:5)
PHP构建包不使用php -s
。我想你可以,但这不是默认的。默认设置是使用PHP-FPM& Apache HTTPD,或者你可以选择使用带有Nginx的PHP-FPM。
在大多数情况下,PHP构建包应该只运行您的应用程序。偶尔会有things you need to adjust,通过将.bp-config/options.json
添加到应用的根目录,可以轻松配置它们。
我对你的应用程序一无所知,所以我不能说。如果使用options.json
无法获得所需内容,则可以自定义HTTPD,Nginx或PHP的配置。请查看此处的文档以获取相关说明。
http://docs.cloudfoundry.org/buildpacks/php/gsg-php-config.html#engine-configurations
希望有所帮助!