【问题标题】:php deprecated warning is only if file changedphp弃用警告仅在文件更改时
【发布时间】:2020-07-30 09:23:21
【问题描述】:

我故意设置了我的 error_reporting,所以我在开发时看到了 E_DEPRECATED 警告。

现在在某些情况下不会显示这些警告:我成功收到警告

不推荐使用:与其类同名的方法在 PHP 的未来版本中将不再是构造函数; ... 有一个不推荐使用的构造函数

但只有在文件时间改变的情况下。如果我重新加载页面,警告就消失了。如果我再次触摸文件系统上的文件,然后重新加载页面,它就在那里。

我知道如何修复错误,但是如何 我要关闭这个“功能”吗?

我必须怎么做才能得到警告总是

【问题讨论】:

  • 听起来可能是缓存问题。你在使用 opcache 还是 memcached 或类似的东西?
  • 这些缓存是如何工作的?他们会过滤错误消息吗?我在这个 Docker 镜像中使用 php7.4:hub.docker.com/r/tan3/php-apache
  • 您使用的 Docker 映像包含 apcu 扩展名
  • 警告来自 PHP 编译器。缓存阻止重新编译脚本,它保存已编译的版本。

标签: php error-reporting


【解决方案1】:

只是不要在你的 docker 镜像中安装 opcache,所以编辑这一行:

  docker-php-ext-install -j$(nproc) intl mysqli soap gd zip opcache && \

只是

  docker-php-ext-install -j$(nproc) intl mysqli soap gd zip && \

并重建图像。

这肯定会起作用,但您也可以编辑 php.ini 并在此处禁用 opcache

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多