调试(&A);缓存
。。。根本不起作用。如果你加载一个页面(在一个缓存的请求上)并做所有那些奇怪的事情,比如检查你是否登录,如果你使用的是管理员角色帐户等等,那么缓存插件就会绕过所有这些。缓存将应用于生成的HTML页面,而不是生成它的PHP代码。
(…)像W3 Total cache这样的缓存插件会有帮助吗?
NO, 简单地说。扩展解释:这会让情况变得更糟。您将缓存所有数据(如果缓存是根据您的请求生成的),每个人都将得到调试转储服务。帮你自己一个忙
如果要在实时服务器上调试,请始终停用缓存。
如何在实时站点上进行调试
在我在实时服务器上使用的一个调试插件中,如果没有满足任何条件,我会在上面进行以下检查以中止。
// Nothing to see here
if (
! is_admin()
AND isset( $_GET[\'debug\'] )
AND \'true\' === $_GET[\'debug\']
AND current_user_can( \'manage_options\' )
AND ( defined( \'DOING_AJAX\' ) AND DOING_AJAX )
AND ( defined( \'DOING_CRON\' ) AND DOING_CRON )
)
return;
因此,只有在查询参数为
"?debug=true"
或
"/debug/true"
(取决于永久链接设置)追加。
您还可以写入日志文件(但在流量较大的网站上不应这样做)。以下是wp-config.php
文件,这将抑制错误,但将它们写入日志文件。
# DEBUG
define( \'WP_DEBUG\', true );
// file: ~/WP_CONTENT_DIR/debug.log
define( \'WP_DEBUG_LOG\', true );
define( \'WP_DEBUG_DISPLAY\', true );