Ошибка при развертывании кода на heroku, если в composer.json требуется папка Helpers - PullRequest
0 голосов
/ 05 мая 2019

Я новичок в heroku, и я пытался развернуть свое веб-приложение (работающее в локальной среде) на heroku.Я следовал документации до шага: git push heroku master.После того, как heroku устанавливает поставщиков, когда он генерирует оптимизированные файлы автозагрузки, он показывает исключение:

Generating optimized autoload files
remote:        > Illuminate\Foundation\ComposerScripts::postAutoloadDump
remote:        PHP Warning:  Uncaught ErrorException: require(/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php): failed to open stream: No such file or directory in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php:66
PHP Warning:  Uncaught ErrorException: require(/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php): failed to open stream: No such file or directory in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php:66
remote:        Stack trace:
remote:        #0 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): Composer\Util\ErrorHandler::handle(2, 'require(/tmp/bu...', '/tmp/build_c8be...', 66, Array)
remote:        #1 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): require()
remote:        #2 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(56): composerRequire52f94ddc173261f270a6e983eeb90c6c('42ab15150aa748b...', '/tmp/build_c8be...')
remote:        #3 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/autoload.php(7): ComposerAutoloaderInit52f94ddc173261f270a6e983eeb90c6c::getLoader()
remote:        #4 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php(43): require_once('/tmp/build_c8be...')
remote:        # in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:
remote:        Warning: Uncaught ErrorException: require(/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php): failed to open stream: No such file or directory in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php:66
remote:        Stack trace:
remote:        #0 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): Composer\Util\ErrorHandler::handle(2, 'require(/tmp/bu...', '/tmp/build_c8be...', 66, Array)
remote:        #1 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): require()
remote:        #2 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(56): composerRequire52f94ddc173261f270a6e983eeb90c6c('42ab15150aa748b...', '/tmp/build_c8be...')
remote:        #3 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/autoload.php(7): ComposerAutoloaderInit52f94ddc173261f270a6e983eeb90c6c::getLoader()
remote:        #4 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php(43): require_once('/tmp/build_c8be...')
remote:        # in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:        PHP Fatal error:  composerRequire52f94ddc173261f270a6e983eeb90c6c(): Failed opening required '/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php' (include_path='.:/app/.heroku/php/lib/php') in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:
remote:        Fatal error: composerRequire52f94ddc173261f270a6e983eeb90c6c(): Failed opening required '/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php' (include_path='.:/app/.heroku/php/lib/php') in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:
remote:  !     ERROR: Dependency installation failed!
remote:  !
remote:  !     The 'composer install' process failed with an error. The cause
remote:  !     may be the download or installation of packages, or a pre- or
remote:  !     post-install hook (e.g. a 'post-install-cmd' item in 'scripts')
remote:  !     in your 'composer.json'.
remote:  !
remote:  !     Typical error cases are out-of-date or missing parts of code,
remote:  !     timeouts when making external connections, or memory limits.
remote:  !
remote:  !     Check the above error output closely to determine the cause of
remote:  !     the problem, ensure the code you're pushing is functioning
remote:  !     properly, and that all local changes are committed correctly.
remote:  !
remote:  !     For more information on builds for PHP on Heroku, refer to
remote:  !     https://devcenter.heroku.com/articles/php-support
remote:
remote:  !     Push rejected, failed to compile PHP app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to young-oasis-37306.
remote:
To https://git.heroku.com/young-oasis-37306.git

Следуйте тому, что он сказал, я думаю, что проблема в том, что композитор не может найти папку App / Helpers, которая определена вcomposer.json:

    ...
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files" :[
            "App/Helpers/functions.php"
        ]
    },
    ...
}

Однако, потому что это работает на локальном композиторе, поэтому я действительно не знаю, как с этим справиться.Не могли бы вы мне помочь?

Heroku выбрал для меня пакеты платформы, я напишу здесь, на всякий случай.

  • php (7.3.4)

  • ext-mbstring (в комплекте с php)

  • apache (2.4.39)

  • nginx (1.14.2)

1 Ответ

0 голосов
/ 05 мая 2019

Я полагаю, что он жалуется, потому что не может найти файл по пути 'App / Helpers / functions.php', который на самом деле не существует.

Попробуйте изменить ваши файлы на фактический путь к файлу. Я думаю, это будет выглядеть примерно так:

 "autoload": {
    "classmap": [
        "database/seeds",
        "database/factories"
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files" :[
        "./app/Helpers/functions.php"
    ]
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...