定位PHP“每个”警告的详细来源[重复]

Posted

技术标签:

【中文标题】定位PHP“每个”警告的详细来源[重复]【英文标题】:Locating detailed origin of PHP "each" warning [duplicate] 【发布时间】:2019-07-02 08:39:01 【问题描述】:

我被一些不应该存在的东西困住了。即使我在所有供应商的文件中搜索并且找不到它,我也会不断弹出一个 each() 警告。

这是我返回的警告:

The each() function is deprecated. This message will be suppressed on further calls

澄清一下,这不是我的代码,它是我正在处理的项目中使用的 Vendors 包之一,不幸的是我已更新到此代码的最新版本,该代码已更新为专门删除each() 函数。这就是为什么我试图找到这个错误弹出的位置。

我没有获得任何其他信息来定位此问题的可能位置。什么样的配置或错误记录可能对我有用?

【问题讨论】:

你看过这篇文章吗?我不是积极的,但它似乎是同一个问题。 ***.com/questions/51235163/… 来自php manual:“警告:自 PHP 7.2.0 起,此函数已被弃用。强烈建议不要依赖此函数。” 尝试更改您的 PHP 版本 我已经更新了我的问题以澄清,这不是我的代码,无论如何我都不会使用 each(),只是试图找到它的位置。 你是在 web 还是 artisan 命令中得到它?在后者中,使用-vvvv 调用通常会显示调试输出和堆栈跟踪。此外,在您的.env 中将APP_DEBUG 设置为true @TobiasK。 - 通过网络,好吧,我很确定它已设置为调试,但我正按原样前进,我很快就会在这里检查。 【参考方案1】:

each() 自 PHP 7.2.0 起已弃用。强烈建议不要依赖此函数。

【讨论】:

我已经更新了我的问题,包括这不是我的代码,它曾经是一个包的一部分,该包已经删除了 each() 函数,但在某个地方,它仍然存在。这就是我试图找到它的原因......【参考方案2】:

您是否使用了一个 IDE,它允许您在项目中的所有源文件中搜索“each(”?

否则,您也许可以使用命令行工具来执行相同的操作。 How to grep a string in a directory and all its subdirectories (Linux)

【讨论】:

我已经搜索了我的 IDE,但我找不到它,每次提到甚至只是 each( 都会弹出 foreach(,这是包管理器更新后的样子。 你能用正则表达式搜索吗? ([^r]each() 之类的东西可能会消除 foreach 匹配。

以上是关于定位PHP“每个”警告的详细来源[重复]的主要内容,如果未能解决你的问题,请参考以下文章

警告:mysqli_query():无法获取 mysqli [重复]

php警告:访问被拒绝[重复]

在php中停止不推荐使用的警告[重复]

在 PHP 中处理警告 [重复]

如何修复来自 PHP 中 date() 的警告" [重复]

我的 php/mysqli 中出现错误和警告 [重复]