这个 Yii 错误 #8192 是什么意思?

What does this Yii error #8192 mean?

我在 Heroku 上为 Yii2 应用程序收到此错误。我搜索了源代码,连错误8192都找不到。

Error (#8192) An internal server error occurred.

其他页面可以,只有这一页不行。 heroku logs 中没有错误消息。没有 runtime/logs/app.log 文件。

这是因为我正在静态访问非静态 class 方法。它在开发中起作用。我不得不在生产中打开调试(这本身就是一个很大的麻烦)来找出答案。

您应该做的是在已部署的服务器上打开调试。这对我来说是个问题,因为当我没有关闭调试时 Heroku 给我带来了问题。但是,我通过进入 web/index.php 并按如下方式设置调试选项,设法在 YII 2 中将其打开:

 defined('YII_DEBUG') or define('YII_DEBUG', true);
 defined('YII_ENV') or define('YII_ENV', 'production');

当我将环境投入生产时,Heroku 似乎可以正常工作。然而,在到达这一点之前我做了很多其他的事情,例如使用 composer 更新并确保所有必需的文件都存在。这样做之后,我可以找到静态调用的函数。希望对您有所帮助!