Php 类在本地工作,但在部署时找不到

Php 类在本地工作,但在部署时找不到,php,google-app-engine,google-cloud-platform,Php,Google App Engine,Google Cloud Platform,我正在使用Google Cloud Platform和Google App Engine尝试将一个应用程序部署到暂存的实时站点,但当我使用gcloud App deploy App.yaml--version=staging--no promotion并查看站点时,我发现以下错误: 致命错误:类“NoahK\Hansel\Service\Database\FeesService”不是 发现于 /第64行的base/data/home/apps/s~project-hansel.421666723

我正在使用Google Cloud Platform和Google App Engine尝试将一个应用程序部署到暂存的实时站点,但当我使用
gcloud App deploy App.yaml--version=staging--no promotion
并查看站点时,我发现以下错误:

致命错误:类“NoahK\Hansel\Service\Database\FeesService”不是 发现于 /第64行的base/data/home/apps/s~project-hansel.421666723467090526/src/app/Provider/DatabaseServicesProvider.php


第64行的实际代码并不重要。它只是尝试实例化一个FeesService对象。真正的问题是它找不到类,即使它包含在文件的顶部。该应用程序在我的本地开发服务器上运行良好。那么,为什么只有在我部署它时才会发生这种情况呢?

当您部署一个版本时,App Engine会启动它以确保它是有效的/健康的,即使上面没有流量提升

关于这个错误,有一件奇怪的事

NoahK\Hansel\Service\Database\FeesService

反斜杠?我遇到了@niklas rosencrantz的评论:

  • 您确定要在部署前/部署时更新路径吗

这似乎是“Windows”格式的路径,这在linux环境中很奇怪。

我的问题是FeesService.php文件的名称不正确。奇怪的是,这并没有在本地产生错误,但很好。

可能您在本地开发服务器上使用了一个本地路径,而该路径不在您部署到的环境中。您可以打印出本地和“活动”环境变量,并比较得到的结果。在某些地方可能会有不同。