Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当Google App Engine项目的根文件夹位于composer.json目录之外时,如何安装composer依赖项?_Php_Google App Engine_Composer Php - Fatal编程技术网

Php 当Google App Engine项目的根文件夹位于composer.json目录之外时,如何安装composer依赖项?

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文件

我正在使用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文件夹中使用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安装?