Вы можете явно указать GAE запустить composer install
или composer dump-autoload
.
{
"scripts": {
"gcp-build": [
"composer install"
]
}
}
Совет 1: GAE кэширует установочные файлы, и иногда вы можете не использовать его: gcloud beta app deploy --no-cache]
Совет 2: Я рекомендую вам изменить корневой каталог приложения в app.yaml, чтобы не показывать каталог поставщика для внешнего мира.
runtime_config:
document_root: src
Структура каталогов:
src
- OtherFolder //PSR-4
- ClassA.php
public
- index.php
vendor
- autoload.php
- ...
compose.json
app.yaml
Требование должно ссылаться на родительскую папку
require_once __DIR__ . '/../vendor/autoload.php';
А для файла composer.json требуется только одна запись psr4
{
"autoload": {
"psr-4": {
"MyApp\\": "src/"
}
}
}