Wordpress迁移后无法修改标头信息

时间:2013-02-19 15:18:01

标签: php wordpress http-headers warnings

我意识到这已经被多次询问了,答案通常是在PHP标签之前或之后的一些空格,但是我已经检查了所有文件而没有找到任何证据。

我正在使用Wordpress并启用了调试模式。我的网站在一个域上工作但是我最近将它移动到一个新服务器(仍然在linux上运行apache - 我确实从共享移动到VPS)并给它一个新域。我所做的更改是wp-config.php中的以下内容:

define('DB_NAME', 'new db name');
define('DB_USER', 'new db user');
define('DB_PASSWORD', 'new db password');
define('WP_HOME','new url');
define('WP_SITEURL','new url');

但是我现在无法登录,我已经将其缩小到没有设置cookie的事实。如果我访问wp-login.php,我会收到以下错误:

Warning: Cannot modify header information - headers already sent by (output started at /home/rcnhca/public_html/wp-includes/load.php:270) in /home/rcnhca/public_html/wp-login.php on line 368

Warning: Cannot modify header information - headers already sent by (output started at /home/rcnhca/public_html/wp-includes/load.php:270) in /home/rcnhca/public_html/wp-login.php on line 380

注意: wp-login.phpload.php都是核心Wordpress文件。

wp-login.php的第368行是:

header('Content-Type: '.get_bloginfo('html_type').'; charset='.get_bloginfo('charset'));

和第380行:

setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);

load.php的第270行是:

ini_set( 'display_errors', 1 );

但是我也收到了以下警告:

Warning: ini_set() has been disabled for security reasons in /home/rcnhca/public_html/wp-includes/load.php on line 270

我认为是因为我安装了Suhosin PHP补丁,但我对此并不确定。我不想运行更易受攻击的PHP版本。

我无法弄清楚为什么会出现这个错误,我的主题PHP文件中没有任何尾随空格。

注意:我也意识到我可以使用输出缓冲来解决这个问题,但是我想知道问题出在哪里而不是应用一个适合所有版本的补丁,这将影响我的调试功能

1 个答案:

答案 0 :(得分:0)

ini_set()警告会导致标头被发送,从而触发“无法修改标头”消息。