【问题标题】:can't find the function/method on PHP files [duplicate]在 PHP 文件中找不到函数/方法 [重复]
【发布时间】:2012-04-02 15:30:04
【问题描述】:

可能重复:
How to find out where a function is defined?

我正在做一个 php 项目,我必须做一些样式,我一直在尝试使用 Sublime Text 的“在文件中查找”来搜索字符串。文本是一个函数名称,使用如下:

echo advspecial();

但似乎“advspecial”不存在。我尝试重命名 advspecial 只是为了测试它是否是一个函数,然后我得到一个错误“调用未定义的函数”

我的问题是,为什么我在文件中找不到它?它可以在 mySQL 数据库中吗?

【问题讨论】:

  • 检查代码中是否有其他路径为included。
  • 问题在我发帖之前就被关闭了,哈哈,典型的...我制作了一个快速的 PHP 小脚本,它将扫描您的整个项目以查找字符串。 codepad.org/uj8kPDgx
  • 原来文件被ioncube加密了!无论如何,我不认为这个问题是上述 bec 的重复。它没有回答我的问题。

标签: php


【解决方案1】:

如果您在本地运行此程序,请尝试查看页面并查看是否出现错误。如果它显示错误,则该函数可能是在您忘记的文件中或从远程源中定义的。

如果没有错误,则说明该函数存在于您的项目中,而 Sublime 可能只是遇到了小故障。

无法在数据库中定义函数。

【讨论】:

  • 你永远不知道。有人可能已将一串 PHP 代码塞入数据库表中,以便日后进行 eval()。我希望没有人会疯狂到真正做到这一点。
【解决方案2】:

如果你得到“调用未定义的函数”就是这样,该函数没有定义。无法在数据库中存储函数。

我建议你在 proyecto 目录中使用类似的东西(在 linux/unix 中):

# grep -r -i * -e "advspecial"

伟大的。

【讨论】:

  • 文件系统是一个数据库,但是,您可以在其中存储函数,也可以在 MySQL 中存储函数。为什么 grep 应该比“在文件中查找”更好?不一样吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 2020-08-05
  • 2019-03-13
  • 2019-06-16
  • 1970-01-01
  • 2019-12-13
相关资源
最近更新 更多