我正在尝试将应用程序部署到使用Propel ORM库的Google App Engine。它在本地测试中工作正常,但谷歌App Engine部署无效。它一直失败并输出此消息:
[RuntimeException的] 无法扫描“vendor / bin / orm / orm”中的类似乎不是文件或文件夹
这是我的composer.json内容:
{
"autoload": {
"psr-4": { "": ""},
"classmap": [
"vendor/bin/orm/orm"
]
},
"require": {
"propel/propel": "~2.0@dev",
"google/cloud": "^0.32.1",
"php": "5.6.*|7.0.*|7.1.*"
},
"require-dev": {
"behat/mink": "^1.7",
"behat/mink-goutte-driver": "^1.2",
"phpunit/phpunit": "~4",
"symfony/browser-kit": "^3.0",
"symfony/http-kernel": "^3.0",
"google/cloud-tools": "^0.6"
}
}
正如我所说它在本地运行...如果我删除了类图配置,应用程序就会部署而不会失败。
答案 0 :(得分:0)
从Google网上论坛获得此答案:
嗨,' vendor / bin / orm / orm'不是推动内部路径。你需要它 仅当您已将生成的模型类保存到该目录中时。 如果您的模型类位于另一个文件夹中(可通过psr-4访问) autoload)你可以安全地删除' classmap'指令。除此以外, 你应该在gcloud上手动创建这个目录。
刚刚将自动加载类映射更改为PSR-4,如下所示:
"autoload": {
"psr-4": { "orm\\orm\\": "vendor/bin/orm/orm"}
}
它有效。希望这可以帮助有相同问题的人。