6

我知道 Heroku 支持 Cedar 堆栈中的许多不同环境,包括PHP
Laravel 4 应用程序的典型文件夹结构如下:

app/
bootstrap/
public/
    packages/
    index.php
vendor/
composer.json
phpunit.xml

注意2点:

  1. 主要的index.php文件不在根目录下,在 public 文件夹下。

  2. 有一个composer.json文件,Heroku 需要像 Ruby 应用程序中的 gems 一样自动安装所有项目依赖项。

所以我的问题是:
有没有办法在 Heroku 上部署这种应用程序?

任何帮助表示赞赏。

4

3 回答 3

2

您需要使用自定义 buildpack 来设置文档根目录并执行一个也集成了 composer 的脚本。在Heroku 的 Buidlpack 中,您需要更新 bin/compile 脚本来处理 composer 和 conf/httpd.conf 来设置文档根目录。此外,Heroku 的 buildpack 没有编译 mcrypt,因此 Laravel 4 无法使用该 buildpack。我在 buildpack 的分支中包含了许多更新,包括 mcrypt、composer 和自定义文档根。

于 2013-02-18T01:43:40.733 回答
0

Heroku 最近发布了一个官方的 PHP buildpack https://github.com/heroku/heroku-buildpack-php。它是新的,我最初遇到了一些麻烦。但它应该改进。它支持 PHP 或 HHVM。

于 2014-05-07T15:55:10.553 回答
0

可以在 Procfile 中指定应用程序的入口点,将其放在应用程序的根目录中。在您的情况下,内容将是:

web: vendor/bin/heroku-php-apache2 public/

https://devcenter.heroku.com/articles/getting-started-with-php#define-a-procfile

于 2016-05-22T15:07:08.470 回答