我知道Heroku支持Cedar堆栈中的许多不同环境,包括PHP Laravel 4应用程序的典型文件夹结构如下:
app/
bootstrap/
public/
packages/
index.php
vendor/
composer.json
phpunit.xml
注意事项:
主 index.php 文件不在根目录下,位于公共文件夹下。
有一个 composer.json 文件,Heroku需要自动安装所有项目依赖项,就像Ruby应用程序中的gems一样。
所以我的问题是:
有没有办法在Heroku上部署这种应用程序?
任何帮助表示感谢。
答案 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