如何在Heroku上部署Laravel 4应用程序?

时间:2013-02-16 08:12:09

标签: php heroku laravel composer-php laravel-4

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

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

注意事项:

  1. index.php 文件不在根目录下,位于公共文件夹下。

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

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

    任何帮助表示感谢。

3 个答案:

答案 0 :(得分:2)

您需要使用自定义buildpack来设置文档根目录并执行集成了composer的脚本。在Heroku's Buidlpack中,您需要更新bin / compile脚本来处理composer和conf / httpd.conf来设置文档根目录。此外,Heroku的buildpack没有编译mcrypt,因此Laravel 4将不能使用该buildpack。我在my branch of the buildpack中包含了许多包含mcrypt,composer和自定义文档根的更新。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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