PHP работает на локальном хосте, ошибка на сервере Google Cloud - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть PHP, который отлично работает на локальном хосте, но выдает ошибку на облачном сервере.На локальном хосте скрипт запускается и также извлекает данные из хранилища данных.

Это строка, которая вызывает проблему:

require __DIR__ . '/../../vendor/autoload.php';
// this is the line5 of datastore.php

Я развертываю его с помощью этого кода: gcloud app deploy --promote --stop-previous-version app.yaml

После развертывания в Google AppEngine я получаю следующее:

Предупреждение: требуется (/ base / data / home / apps)/myproject/projectID/dialpad_research/api/../../vendor/autoload.php): не удалось открыть поток: нет такого файла или каталога в / base / data /home / apps / myproject / projectID / dialpad_research / api / datastore.php в строке 5 Неустранимая ошибка: require (): не удалось открыть файл '/ base / data / home / apps / myproject / projectID / dialpad_research / api /../../ vendor / autoload.php '(include_path ='.; / Base / data / home / apps / myproject / projectID /; / base / alloc / tmpfs / dynamic_runtimes / php55_dynamic / ef537742f8701211 / sdk ') в / base / data / home / apps / myproject / ProjectID / dialpad_research / api / datastore.php в строке 5

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

Должен ли я добавлять требуемый код по-другому?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Проблема была в том, что папка продавца не загружалась.Файл .gcloudignore препятствовал этому.После исправления эта ошибка исчезла.

Спасибо всем за попытки.

0 голосов
/ 25 ноября 2018

Ваш код запроса должен выглядеть следующим образом.Ваша папка vendor должна обычно находиться на уровне корневого каталога вашего кода на том же уровне, что и ваш app.yaml.В этом случае ваш запрос должен выглядеть следующим образом:

require 'vendor/autoload.php';

Кроме того, проверьте работоспособность и убедитесь, что файл действительно находится в папке поставщика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...