【问题标题】:php autoload searches for invalid pathphp自动加载搜索无效路径
【发布时间】:2018-05-07 15:49:12
【问题描述】:

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

这似乎是包名称中的拼写错误(Docsrine 与 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

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

【问题讨论】:

  • 你在使用 vagrant 和 macosx 之类的操作系统吗?
  • 您尝试运行composer dump-autoloader -o 了吗?如果没有,请告诉我们这是否能解决您的问题
  • @DonCallisto:没有。Centos 7.3
  • @ReynierPM:我们禁用了自动加载优化,因为它提供了性能提升(涉及很多类的大型应用程序)。
  • @Alexandru 你可以在没有-o 的情况下运行它,它也应该这样做,你试过了吗?

标签: php symfony doctrine-orm php-mongodb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-11-06
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 2016-05-17
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多