0

私はこれが何度も尋ねられたことに気づき、答えは通常PHPタグの前後の空白ですが、すべてのファイルをチェックしましたが、これの証拠は見つかりませんでした。

Wordpressを使用していて、デバッグモードをオンにしています。私のサイトは1つのドメインで動作しますが、最近新しいサーバーに移動し(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.phpとは両方ともload.phpコアWordpressファイルです。

の368行目wp-login.phpは次のとおりです。

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

380行目:

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

の270行目load.phpは次のとおりです。

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ファイルのいずれにも末尾の空白がありません。

注:これを解決するために出力バッファリングを使用できることも理解していますが、デバッグ機能に影響を与えるワンサイズのすべてのパッチを適用するのではなく、問題が発生している場所を理解したいと思います。

4

1 に答える 1

0

警告によりヘッダーが送信され、 「ini_set()ヘッダーを変更できません」というメッセージがトリガーされます。

于 2013-02-19T15:55:13.730 に答える