Php 当Google App Engine项目的根文件夹位于composer.json目录之外时,如何安装composer依赖项?
我正在使用GoogleAppEngine部署一个PHP项目。 我使用以下文件结构Php 当Google App Engine项目的根文件夹位于composer.json目录之外时,如何安装composer依赖项?,php,google-app-engine,composer-php,Php,Google App Engine,Composer Php,我正在使用GoogleAppEngine部署一个PHP项目。 我使用以下文件结构 public/project\u files\u here\u composer.json\u here\u 私人/某些私人文件 app.yaml 在app.yaml中,我将公用文件夹设置为包含index.php的web根目录。 当我使用googleapp deploy部署它时,我的composer依赖项没有安装 如何告诉Google App Engine在public/文件夹中安装我的依赖项(在public文件
public/project\u files\u here\u composer.json\u here\u
私人/某些私人文件
app.yaml
在app.yaml中,我将公用文件夹设置为包含index.php的web根目录。
当我使用googleapp deploy
部署它时,我的composer依赖项没有安装
如何告诉Google App Engine在
public/
文件夹中安装我的依赖项(在public文件夹中使用composer.json)?我一直在文档中搜索操作和文件,但没有找到任何关于您打算做什么的参考。为了重现您的场景,我在应用程序的根目录中创建了一个软链接,指向另一个文件夹中的composer文件,但没有成功
工作原理是使用以下命令在应用程序的根文件夹中创建硬链接:
ln public/composer.json composer.json
不管怎样,当我发出gcloud app deploy
命令时,它说它正在上载0个文件(这有点像是真的),但是当我从控制台查看源代码时,文件在那里,并且安装了依赖项,所以它可以工作
如果不想创建硬链接,只需创建一个脚本来复制、部署和删除文件。类似于:
#/bin/bash
cp public/composer.json。
gcloud应用程序部署
rm composer.json
如果这些都不适合您,您应该将composer.json移动到应用程序的根目录。为什么您的依赖项没有安装?您试图解决什么问题?我需要在外部目录上运行gcloud app install,以便它将我的公用和专用文件夹复制到生产环境中,但我的composer.json文件位于公用文件夹中。所以问题是,当我尝试部署应用程序时,Google app engine没有运行composer安装,并且我无法将composer.json移到公共目录之外。那么,如何让Google app engine cd进入公用文件夹,然后运行composer安装?