【问题标题】:Deploy simple PHP website to Swisscom Application Cloud: how to configure the server?将简单的 PHP 网站部署到 Swisscom Application Cloud:如何配置服务器?
【发布时间】:2017-05-14 18:14:28
【问题描述】:

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

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

我关注了tutorial,但是有些方面我不是很清楚。

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

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

我很惊讶应用程序在生产环境中是这样运行的,因为the php documentation 声明了以下关于内置服务器的内容:

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

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

更新:

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

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

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

【问题讨论】:

  • 你可以在这里或 GitHub 上发布你的代码或 sn-ps 并链接它吗?我们不知道您的应用程序的外观(什么是简单的网站?)。

标签: cloud-foundry swisscomdev php-builtin-server


【解决方案1】:

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

希望有帮助!

【讨论】:

  • 感谢@daniel-mikusa 的提示,我正在研究文档和错误日志,进展缓慢...
猜你喜欢
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 2013-01-18
  • 2013-05-10
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多