部署laravel应用程序:bash:第1行:/heroku-php-apache2:无此文件或目录

nfg76nw0  于 2023-02-13  发布在  PHP
关注(0)|答案(1)|浏览(144)

我部署我的laravel项目到一个虚拟主机Heroku,但它说:Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail
在cmd heroku logs --tail中运行显示:

023-02-11T12:34:54.553423+00:00 heroku[web.1]: State changed from crashed to starting
2023-02-11T12:34:55.000000+00:00 app[api]: Build succeeded
2023-02-11T12:34:57.640287+00:00 heroku[web.1]: Starting process with command `vendor/bin/heroku-php-apache2 public/`
2023-02-11T12:34:58.531590+00:00 app[web.1]: bash: line 1: vendor/bin/heroku-php-apache2: No such file or directory
2023-02-11T12:34:58.712929+00:00 heroku[web.1]: Process exited with status 127
2023-02-11T12:34:58.762310+00:00 heroku[web.1]: State changed from starting to crashed
2023-02-11T12:34:58.765815+00:00 heroku[web.1]: State changed from crashed to starting
2023-02-11T12:35:01.791169+00:00 heroku[web.1]: Starting process with command `vendor/bin/heroku-php-apache2 public/`
2023-02-11T12:35:02.654080+00:00 app[web.1]: bash: line 1: vendor/bin/heroku-php-apache2: No such file or directory
2023-02-11T12:35:02.826744+00:00 heroku[web.1]: Process exited with status 127
2023-02-11T12:35:02.880557+00:00 heroku[web.1]: State changed from starting to crashed
2023-02-11T12:35:35.602534+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=poradej-turnaj.herokuapp.com request_id=ace405c4-8cd9-46f0-8f22-fd7f47ac3fb4 fwd="84.42.219.107" dyno= connect= service= status=503 bytes= protocol=https
2023-02-11T12:35:35.773667+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=poradej-turnaj.herokuapp.com request_id=01ba20cd-82bf-45c8-ab60-0e61295ed805 fwd="84.42.219.107" dyno= connect= service= status=503 bytes= protocol=https

下面是我的一些代码,我认为它们可能与这个问题有关:程序文件web: $(composer config bin-dir)/heroku-php-apache2 public/
Composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "php": "^8.0.2",
        "guzzlehttp/guzzle": "^7.2",
        "laravel/framework": "^9.19",
        "laravel/sanctum": "^3.0",
        "laravel/tinker": "^2.7",
        "laravel/ui": "^4.1"
    },
    "require-dev": {
        "fakerphp/faker": "^1.9.1",
        "laravel/pint": "^1.0",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.10",
        "spatie/laravel-ignition": "^1.0",
        "heroku/heroku-buildpack-php" : "dev-master"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }, 
        "files":[
            "app/helpers.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

你能给予我任何建议吗?告诉我,如果你想一些更多的代码。我知道这个问题已经讨论过这里,但没有一个建议帮助我。

agyaoht7

agyaoht71#

heroku-php-apache2是由Heroku的PHP构建包提供的,而不是Composer。
编辑您的Procfile以删除$(composer config bin-dir)/

web: heroku-php-apache2 public/

然后提交并重新部署。

相关问题