【发布时间】:2020-05-28 06:01:59
【问题描述】:
我有一个 Laravel 5.8 网站
https://boss-security-2.herokuapp.com/
我部署到 Heorku 以使用我创建的这个脚本进行测试
appName='boss-security-2'
echo 'appName =' $appName
# heroku apps
# heroku apps:destroy appName --confirm appName
# ----------------------
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git init
git status
git add -A
git commit -m "Initial commit"
heroku create $appName
heroku git:remote -a $appName
heroku buildpacks:set heroku/php
heroku config:set APP_KEY=9O7AegDFJhVC16jLfNNepT7TEQ7FyFZc
git push heroku master
heroku apps:info
heroku open
echo "done"
#
我一直在得到
禁止
>
您无权访问此资源
我的脚本中有什么错误吗?
作曲家.json
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "~6.0",
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0",
"laravelcollective/html": "~5.0",
"nesbot/carbon": "^2.19",
"pusher/pusher-php-server": "^3.4"
},
"require-dev": {
"beyondcode/laravel-dump-server": "^1.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^2.0",
"phpunit/phpunit": "^7.5"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
],
"post-install-cmd": [
"php artisan clear-compiled",
"chmod -R 777 public/"
]
},
}
更新 1
我检查了日志,我看到了这个
无法提供目录 /app/:找不到匹配的 DirectoryIndex (index.php,index.html,index.htm),并且 Options 指令禁止服务器生成的目录索引
更新 2
我不知道为什么我的测功机中的composer.json 似乎没有我的最新 代码。我通过 SSH 登录并检查。
heroku ps:exec
这跟我的composer.lock有关系吗?
【问题讨论】:
-
尝试将以下内容添加到 composer.json "post-install-cmd" 的脚本部分:[ "php artisan clear-compiled", "chmod -R 775 public/" ]跨度>
-
@Sehdev 我试过了并更新了我的帖子以向您展示我的 composer.json。
-
我认为您没有正确地将 Apache 指向
public目录;当我转到 boss-security-2.herokuapp.com/public 时,我收到 500 错误,但这意味着 something 存在。 -
您收到 500 错误?不是 403 吗?这怎么可能 ?可以分享一下截图吗?
-
我一直在使用上面的脚本,昨晚成功了。我不知道为什么它现在不起作用。
标签: php laravel bash laravel-5 heroku