1

我正在尝试基于云铸造将一个简单的 PHP 网站部署到Swisscom Application Cloud 。

我的网站在本地运行良好,由 Apache 提供服务。

我已按照教程进行操作,但在某些方面我不清楚。

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

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

令我感到惊讶的是,这就是应用程序在生产中运行的方式,因为php 文档说明了有关内置服务器的以下内容:

“它不打算成为一个功能齐全的网络服务器。它不应该在公共网络上使用。”

Web 应用程序是否在 Swisscom 应用程序云中的 Apache 上运行?如果是,我如何获得配置httpd.confphp.ini文件的访问权限?如果不是,我该如何配置我的应用所需的特殊行为?

更新:

这是一个示例 php 应用程序,它总结了我想要实现的目标:将其部署在 cloud Foundry 中,将 html 文件解释为 php 文件。

https://github.com/atineoSE/sample-php-app-cloudfoundry

在@daniel-mikusa 的文档链接之后,我添加了与.mime 类型相关的特殊配置.bp-config/httpd/extra/httpd-mime.conf。但是,这并没有按预期工作。从 firefox 访问时,系统会提示我下载文件。当我通过 Apache 在httpd.conf文件中使用相同的指令在本地提供它时,它工作正常。

4

1 回答 1

5

PHP 构建包不使用php -s. 我想你可以,但这不是默认设置。默认设置是使用 PHP-FPM 和 Apache HTTPD,或者您可以选择使用带 Nginx 的 PHP-FPM。

在大多数情况下,PHP 构建包应该只运行您的应用程序。有时您需要调整一些东西.bp-config/options.json,并且可以通过添加到应用程序的根目录来 轻松配置它们。

我对你的应用一无所知,所以我不能说。如果您无法获得所需的内容,options.json您也可以自定义 HTTPD、Nginx 或 PHP 的配置。在此处查看文档以获取执行此操作的说明。

http://docs.cloudfoundry.org/buildpacks/php/gsg-php-config.html#engine-configurations

希望有帮助!

于 2017-05-15T02:24:15.327 回答