Lumen -> 第 54 行错误 - require():需要打开失败
Lumen -> Error on line 54 - require(): Failed opening required
我安装了一个全新的 Lumen 副本作为 Heroku 应用程序。我还实现了 packange Dingo 到它:https://github.com/dingo/api/ 但是当我尝试加载所有服务器时 return 我这个错误:
2016-02-14T11:07:45.657820+00:00 app[web.1]: [14-Feb-2016 11:07:45 UTC] PHP Warning: require(/app/vendor/dingo/api/src/helpers.php): failed to open stream: No such file or directory in /app/vendor/composer/autoload_real.php on line 54
2016-02-14T11:07:45.657998+00:00 app[web.1]: [14-Feb-2016 11:07:45 UTC] PHP Fatal error: require(): Failed opening required '/app/vendor/dingo/api/src/helpers.php' (include_path='.:/app/.heroku/php/lib
/php') in /app/vendor/composer/autoload_real.php on line 54
我尝试删除 vendor 文件夹等并重新安装,但结果是一样的
编辑:我的 composer.json 是:
{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"minimum-stability": "dev",
"require": {
"php": ">=5.5.9",
"laravel/lumen-framework": "5.2.*",
"vlucas/phpdotenv": "~2.2",
"dingo/api": "1.0.x@dev"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"phpunit/phpunit": "~4.0",
"dingo/api": "1.0.x@dev"
},
"autoload": {
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/",
"database/"
]
}
}
编辑 2:我现在在我的本地机器上尝试了,Lumen with Dingo 工作正常,所以这是 Heroku 的问题。如何在Heroku Logs中查看Lumen Logs?
我想你错过了在你的 Heroku 应用程序中添加配置。为了让你的 Heroku 应用程序获取所有的作曲家要求,你可以 运行 在你的 Lumen 应用程序的根目录上这样做:
heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php
再次进行更改,然后将更改推送到 heroku 存储库,例如:
git push heroku master
编辑
为了让它工作,我有自己的方法将 Lumen App 部署到 Heroku。
lumen new my-app
cd my-app
# Here you can change your composer.json dependencies
composer require dingo/api
制作你的 procfile
vim Procfile
# Content of Procfile
web: vendor/bin/heroku-php-apache2 public
初始化回购
git init
git add -A .
git commit -m "[INIT] Initial commit."
创建 Heroku 应用程序:
heroku create
heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php
git push heroku master
访问您的 heroku 应用。
我安装了一个全新的 Lumen 副本作为 Heroku 应用程序。我还实现了 packange Dingo 到它:https://github.com/dingo/api/ 但是当我尝试加载所有服务器时 return 我这个错误:
2016-02-14T11:07:45.657820+00:00 app[web.1]: [14-Feb-2016 11:07:45 UTC] PHP Warning: require(/app/vendor/dingo/api/src/helpers.php): failed to open stream: No such file or directory in /app/vendor/composer/autoload_real.php on line 54
2016-02-14T11:07:45.657998+00:00 app[web.1]: [14-Feb-2016 11:07:45 UTC] PHP Fatal error: require(): Failed opening required '/app/vendor/dingo/api/src/helpers.php' (include_path='.:/app/.heroku/php/lib
/php') in /app/vendor/composer/autoload_real.php on line 54
我尝试删除 vendor 文件夹等并重新安装,但结果是一样的
编辑:我的 composer.json 是:
{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"minimum-stability": "dev",
"require": {
"php": ">=5.5.9",
"laravel/lumen-framework": "5.2.*",
"vlucas/phpdotenv": "~2.2",
"dingo/api": "1.0.x@dev"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"phpunit/phpunit": "~4.0",
"dingo/api": "1.0.x@dev"
},
"autoload": {
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/",
"database/"
]
}
}
编辑 2:我现在在我的本地机器上尝试了,Lumen with Dingo 工作正常,所以这是 Heroku 的问题。如何在Heroku Logs中查看Lumen Logs?
我想你错过了在你的 Heroku 应用程序中添加配置。为了让你的 Heroku 应用程序获取所有的作曲家要求,你可以 运行 在你的 Lumen 应用程序的根目录上这样做:
heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php
再次进行更改,然后将更改推送到 heroku 存储库,例如:
git push heroku master
编辑
为了让它工作,我有自己的方法将 Lumen App 部署到 Heroku。
lumen new my-app
cd my-app
# Here you can change your composer.json dependencies
composer require dingo/api
制作你的 procfile
vim Procfile
# Content of Procfile
web: vendor/bin/heroku-php-apache2 public
初始化回购
git init
git add -A .
git commit -m "[INIT] Initial commit."
创建 Heroku 应用程序:
heroku create
heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php
git push heroku master
访问您的 heroku 应用。