PHP Heroku - Код ошибки H10 (статус 503)

Я развернул простое приложение PHP на Heroku, содержащее только один (PHP) скрипт для моего исходного кода. Я решил написать функцию в отдельном PHP-скрипте. После этого я получал 403 Forbidden Error, и это сообщение отображалось на URL-адресе моего приложения: Forbidden You don't have permission to access / on this server. Из-за этого я создал текстовый документ под названием Procfile без какого-либо расширения и разместил в нем следующее: web: vendor/bin/heroku-php-apache2 web/.

Однако теперь я получаю следующую ошибку на heroku logs:

2018-04-10T09:09:09.853483+00:00 heroku[router]: at=error code=H10 desc = "App crashed" method=POST path = "/" host=************.herokuapp.com request_id=************ fwd = "************" dyno= connect= service= status=503 bytes= protocol=https
2018-04-10T09:09:56.037642+00:00 heroku[router]: at=error code=H10 desc = "App crashed" method=GET path = "/" host=************.herokuapp.com request_id=************ fwd = "************" dyno= connect= service= status=503 bytes= protocol=https

и по URL-адресу моего приложения отображается следующее сообщение:

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.

Мой (основной) PHP-скрипт на Heroku получает / размещает веб-перехватчик от Dialogflow и возвращает ему некоторую информацию, полученную из базы данных. Это выглядит так:

<?php

$dbServername = '******************';
$dbUsername = '******************';
$dbPassword = '******************';
$dbName = '******************';
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);

header('Content-Type: application/json');
$method = $_SERVER['REQUEST_METHOD'];

if ($method == 'POST') {
    $requestBody = file_get_contents('php://input');
    $json = json_decode($requestBody);

    $action = $json->result->action;
    $first_name = $json->result->contexts[0]->parameters->{'given-name'};
    $last_name = $json->result->contexts[0]->parameters->{'last-name'};
    $lifespan = $json->result->contexts[0]->lifespan;

    $sql = "SELECT * FROM family WHERE name LIKE '%$first_name%$last_name%';";
    $result = mysqli_query($conn, $sql);
    $resultCheck = mysqli_num_rows($result);
    if ($resultCheck > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $person = $row;
        }

        switch ($action) {
            case 'Name':
                $speech = "$first_name is my" . $person["name"] . ".";
                break;
            case 'Location':
                $speech = "$first_name is living in {$person["location"]}.";
                break;
            default:
                $speech = "Please ask me something more relevant to my family";
                break;
        }
    } else {

        $speech = "Sorry, $first_name $last_name is not a member of my family.";
    }

    $response = new \stdClass();
    $response->speech = $speech;
    $response->displayText = $speech;
    $response->source = "agent";
    echo json_encode($response);
} else {
    echo "Method not allowed";
}
?>

Почему я получаю эту ошибку и как ее исправить?

Я не знаю, актуально ли это, но я также получаю следующее предупреждение, когда ввожу git push heroku master на терминале:

remote:  !     WARNING: Your Composer vendor dir is part of your Git repository.
remote:        This directory should not be under version control; only your
remote:        'composer.json' and 'composer.lock' files should be added, which
remote:        will let Composer handle installation of dependencies on deploy.

ты когда-нибудь решал это?

dvrer 22.05.2018 15:34

Хм, думаю, да, поскольку с тех пор я запускаю различные PHP-приложения на Heroku, но я не помню, что именно я делал.

Outcast 22.05.2018 16:25

Тот факт, что я не опубликовал здесь ответ, может означать, что в конечном итоге это не было настолько серьезным, чтобы обсуждать его дальше. Но если я когда-нибудь вспомню, могу выложить.

Outcast 22.05.2018 16:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
257
0

Другие вопросы по теме