插件在激活期间生成了751个字符的意外输出

时间:2013-11-12 作者:Dk-Macadamia

我为我的wordpress管理员制作了一个自定义插件,用于查看用户详细信息。显示此错误后,此插件工作正常,但主要问题在于此插件,当我尝试打开某些链接时,页面变为空白。我不知道这是为什么,这是什么错误。。已在internet上搜索,但无法解决此问题。非常感谢您的帮助。。。这里是当我激活这个插件时出现的完整错误。。。我

The plugin generated 751 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin

2 个回复
最合适的回答,由SO网友:gmazzap 整理而成

您的插件导致了一些错误,但不是致命的错误,因此插件可以工作,但正如错误消息所说,它可能会导致一些问题,例如,可能输出插件错误的提要不是有效的xml内容,或者当代码中某个地方出现重定向时,“headers ready sent”(标题已发送),它会失败。

如果你问自己为什么插件会在出现错误的情况下工作,那是因为并不是所有的错误都是致命的(让脚本失效),就像下面的代码所示

if ( ! $number ) {
  $number = 1;
}
echo "My number is " . $number;
如果您的插件中有这样的代码,它会正常工作,但会导致错误,因为在第一行中有一个未定义的变量。

这只是一个例子,但有a lot 在这种情况下,代码可以工作但会导致错误。

开发插件时,激活debug and error log 我还建议使用一些debug tools: 有些真的很有用。

SO网友:Suri

当您的语法不正确时,就会出现header ready sent的错误。

仅供参考,我列出了一些情况,其中意外输出的消息和已发送错误的标题出现了!

PHP标记开头或结尾前的空格<php??>当插件激活时,任何PHP代码语法错误都会导致发送的标头发出警告。为了避免这种情况,最好在调试状态集中开发插件和测试WP_DEBUGtrue 在里面wp-config.php WordPress安装的文件。

结束

相关推荐

Security and Must Use Plugins

从codex article 必须使用插件:只需将文件上载到mu插件目录即可启用,无需登录我觉得这是一个潜在的安全问题。在站点上运行插件中的任何代码之前,必须通过管理面板激活常规插件。我一直认为这是一个明智的安全预防措施,因为攻击者如果能够以某种方式将文件上载到plugins文件夹,则在运行代码之前,还必须访问和修改数据库。这个mu-plugins 文件夹似乎提供了一种简单的方法来避免这种情况。我知道WordPress开发人员比我更了解安全性,所以我想知道是否有人能解释为什么这不是一个安全漏洞。