我们正在尝试部署包含由作曲家生成的供应商文件夹的PHP应用程序。成功部署后访问应用程序时,我们会出现错误500:
php致命错误:require_once():所需的打开失败 '/base/data/home/apps/appname/initial.416696519564391510/include/fragments/vendor/autoload.php' (include_path ='。;/base/data/home/apps/appName/digital.416696519564391510/;/base/base/alloc/alloc/tmpfs/dynamic_runtimes/php55_dynamic/4D9D9D9DBD56F556F8406C08/SDK') 在 /base/data/home/apps/appname/initial.416696519564391510/include/fragments/drive.php 在第4行
第4行包含:
require_once __DIR__ . '/vendor/autoload.php';
我们注意到供应商文件夹丢失了,即使它在本地服务器上的root(app.yaml位置)目录中。因此,它没有上传作曲家生成的供应商文件夹。我们在某个地方读取,默认情况下,在生成的.gcloudignore文件中忽略了供应商/目录,以减少部署中发送的文件数量。因此,我们从.gcloudignore文件中评论了供应商文件夹,并再次部署了该应用程序,并在部署时遇到了此错误
错误:( gcloud.app.deploy)invalid_argument:此部署也有 许多文件。该应用程序的新版本仅限于10000个文件。 - '@type':type.googleapis.com/google.rpc.badrequest fieldViolations: - 描述:此部署的文件太多。该应用程序的新版本仅限于10000个文件。场地: version.deployment.files [...]
我们如何解决问题以使作曲家在App Engine Standard Envirances Php 5.5或部署包含10000多个文件的供应商文件夹中?
通过清洁供应商文件夹的不必要文件解决了问题。