Как установить зависимости composer, когда папка root проекта Google App Engine находится вне каталога composer. json? - PullRequest
0 голосов
/ 12 апреля 2020

Я использую движок Google App для развертывания проекта PHP. Я использую следующую файловую структуру.

public/project_files_here_composer.json_here_too
private/some_private_files
app.yaml

В app.yaml я установил папку publi c в качестве веб-каталога root, содержащего индекс. php. Когда я развертываю это с google app deploy, мои composer зависимости не устанавливаются.

Как указать Google App Engine установить мои зависимости внутри папки public/ (используя composer. json в папке publi c)?

1 Ответ

1 голос
/ 17 апреля 2020

Я искал документацию для операции gcloud app deploy и файла app.yaml , и мне не удалось найти какую-либо ссылку на то, что вы намереваетесь делать. Пытаясь воспроизвести ваш сценарий, я создал мягкую ссылку в каталоге root приложения, которая указывала на файл composer в другой папке, но он не работал.

Что сработало создавал жесткую ссылку в папке приложения root с помощью следующей команды:

ln public/composer.json composer.json

Независимо от того, когда я сделал команду gcloud app deploy, он сказал, что загружает 0 файлов (что является правдой ), но когда я посмотрел исходный код из консоли, файл был там и зависимости были установлены, поэтому он работает.

Если вы не хотите создавать жесткую ссылку, вам просто нужно создать скрипт, который копирует файл, развертывает и удаляет его. Что-то в строчках:

#!/bin/bash

cp public/composer.json .
gcloud app deploy
rm composer.json

Если вам не подходит ни один из этих способов, просто переместите composer. json в каталог root приложения.

...