Heroku不会将我的Laravel应用程序识别为PHP应用程序,也不会进行作曲家安装

时间:2015-01-02 11:30:13

标签: php heroku laravel-4 composer-php

我试图在Heroku上发布我的Laravel应用程序。 我从.gitignore中排除了composer.lock文件,并创建了一个包含

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

我用

创建了我的应用
heroku create myapp;
git push heroku master;

然后我得到以下输出:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags heroku master:master 
Pushing to https://git.heroku.com/myapp.git
POST git-receive-pack (1914 bytes)
remote: Compressing source files... done.        
remote: Building source:        
remote: 
remote: -----> Node.js app detected        
remote: -----> Resetting git environment        
remote: 
remote:        PRO TIP: Specify a node version in package.json        
remote:        See https://devcenter.heroku.com/articles/nodejs-support        
remote: 
remote: -----> Defaulting to latest stable node: 0.10.35        
remote: -----> Downloading and installing node        
remote: -----> Exporting config vars to environment        
remote: -----> Installing dependencies        
remote:        npm WARN package.json myapp@0.0.0 No repository field.        
remote: -----> Cleaning up node-gyp and npm artifacts        
remote: -----> Building runtime environment        
remote: -----> Discovering process types        
remote:        Procfile declares types -> web        
remote: 
remote: -----> Compressing... done, 9.6MB        
remote: -----> Launching... done, v5        
remote:        https://myapp.herokuapp.com/ deployed to Heroku        
remote: 
remote: Verifying deploy... done.        
To https://git.heroku.com/myapp.git
   5b1c663..0dff021  master -> master
updating local tracking ref 'refs/remotes/heroku/master'
Completed successfully

如果我浏览到我的应用程序,但是我收到应用程序错误。 当我查看我的日志时,它说

app[web.1]: bash: vendor/bin/heroku-php-apache2: No such file or directory

我怀疑不知怎的, Heroku没有做作曲家安装,因为它不在我的git输出中,也许它甚至没有认识到我的应用程序是一个PHP应用程序? 可以肯定的是,我还在root中包含了一个空的index.php文件。没有帮助。

我在这里缺少什么?

3 个答案:

答案 0 :(得分:11)

我相信我找到了它。应该更好地阅读这些行("检测到Node.js app")。 通过触发此命令解决:

heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php

再次推动

答案 1 :(得分:1)

哈哈,只需将package.json放入你的laravel项目中即可。 然后Heroku会将您的应用程序检测为php项目。

答案 2 :(得分:0)

请务必在public上添加尾部斜杠:public/。这是我的问题 - 我正在使用Laravel并获得Image source not readableNotReadableException in AbstractDecoder.php line 302:,因为它认为at AbstractDecoder->init('/app/public') in AbstractDriver.php line 64是一个文件,而不是文件夹。