0

在将应用程序部署到生产环境后,我们遇到了一个非常奇怪的错误。

这似乎是包名称(Docsrine vs Doctrine)的拼写错误,而且似乎损坏的包并不总是同一个包。错误中提到的文件的正确版本存在于正确的路径(带有 Doctrine 的路径)。

我们发现的案例只存在于学说/mongo 的东西中。我们在 php 7.0.13 和 7.2.5 中体验到了这一点。pecl-mongodb 版本 1.2.10 和 1.4.3。

重新启动 fpm 似乎可以解决问题(注意我们也在部署后立即重新启动,但没有成功)。

2018/05/07 18:35:15 [错误] 4749#4749: *85488813 FastCGI 在标准错误中发送:“PHP 消息:PHP 警告:未捕获的错误异常:警告:需要(/var/www/my_app/releases/20180507153309/vendor /composer/../doctrine/mongodb/lib/Docsrine/MongoDB/Iterator.php):无法打开流:文件/var/www/my_app/releases/20180507153309/vendor/symfony/symfony/中没有这样的文件或目录src/Symfony/Component/ClassLoader/ApcClassLoader.php:112 在 /var/www/rec/releases/20180507153309/vendor/symfony/symfony/src/Symfony/Component/ClassLoader/ApcClassLoader.php:112

有没有其他人遇到过类似的问题?

4

1 回答 1

0

我们已经采取了一些措施来解决这个问题(我们已经一周没有遇到它了)。1.删​​除未使用的php模块-couchbase2,gd,amqp 2.升级igbinary模块的版本。

于 2018-05-18T12:01:08.007 回答