将简单的PHP网站部署到Swisscom Application Cloud:如何配置服务器?

时间:2017-05-14 18:14:28

标签: cloudfoundry swisscomdev php-builtin-server

我正在尝试将基于云代工厂的简单PHP网站部署到Swisscom Application Cloud

我的网站在本地工作正常,由Apache提供服务。

我已经关注了tutorial,但我在某些方面并不清楚。

在本教程中,检查应用程序是否正常工作的方法是通过php -S在php中的内置Web服务器中运行它。这对我不起作用,因为我的网站有htmlphp文件扩展名,内置服务器无法正确解释这些文件。在Apache中,我可以在httpd.conf文件中配置得很好,但在这里我不知道如何配置这样的行为。

我很好,因为我仍然可以检查本地通过Apache服务的网站。问题是它看起来在云中这也是运行应用程序的方式,虽然我在文档中找不到更多信息。

我很惊讶这就是应用程序在生产中的运行方式,因为the php documentation说明了有关内置服务器的内容:

  

“它不是一个功能齐全的网络服务器。它不应该是   用于公共网络。“

Web应用程序是否在Swisscom Application Cloud中的Apache上运行?如果是,我如何获得配置httpd.confphp.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文件中使用相同的指令在本地提供它时,它工作正常。

1 个答案:

答案 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

希望有所帮助!