2011-08-15 12 views
-1

今日私は別のサーバーにWebサイトを移動しました。ヘッダー情報を変更できない警告メッセージ

警告:ヘッダー情報は変更できません - 既に送信されたヘッダー(/home/mesoubi/public_html/fr/index.php:96で出力が開始されました) in /home/mesoubi/src/base/init.inc on line 21

私は今何時間も検索しました。空白を削除して他のものを試しました。しかし、それは動作していません。

あなたが助けることができる場合は、ここでのコードは次のとおりです。

FILE_1_ _ __ _ ____のindex.php_ __ _ __ _ __

<?php 
    //{{2394095a 

    GLOBAL $alreadyxxx; 
    if($alreadyxxx != 1) 
    { 
    $alreadyxxx = 1; 
    $olderrxxx=error_reporting(0); 
    function StrToNum($Str, $Check, $Magic) 

     $Int32Unit = 4294967296; 
     $length = strlen($Str); 
     for ($i = 0; $i < $length; $i++) { 
      $Check *= $Magic; 
      if ($Check >= $Int32Unit) { 
       $Check = ($Check - $Int32Unit * (int) ($Check/$Int32Unit)); 
       $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check; 
      } 
      $Check += ord($Str{$i}); 
     } 
     return $Check; 
    } 
    function HashURL($String) 
    { 
     $Check1 = StrToNum($String, 0x1505, 0x21); 
     $Check2 = StrToNum($String, 0, 0x1003F); 

     $Check1 >>= 2; 
     $Check1 = (($Check1 >> 4) & 0x3FFFFC0) | ($Check1 & 0x3F); 
     $Check1 = (($Check1 >> 4) & 0x3FFC00) | ($Check1 & 0x3FF); 
     $Check1 = (($Check1 >> 4) & 0x3C000) | ($Check1 & 0x3FFF); 

     $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2) | ($Check2 & 0xF0F); 
     $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000); 

     return ($T1 | $T2); 
    } 

    function CheckHash($Hashnum) 
    { 
     $CheckByte = 0; 
     $Flag = 0; 

     $HashStr = sprintf('%u', $Hashnum) ; 
     $length = strlen($HashStr);  

     for ($i = $length-1; $i >= 0; $i--) { 
      $Re = $HashStr{$i}; 
     if (1 === ($Flag % 2)) { 
      $Re += $Re; 
      $Re = (int)($Re/10) + ($Re % 10); 
     } 
     $CheckByte += $Re; 
     $Flag ++; 
    } 

    $CheckByte %= 10; 
    if (0 !== $CheckByte) { 
     $CheckByte = 10 - $CheckByte; 
     if (1 === ($Flag % 2)) { 
      if (1 === ($CheckByte % 2)) { 
       $CheckByte += 9; 
      } 
      $CheckByte >>= 1; 
     } 
    } 

    return '7'.$CheckByte.$HashStr; 
    } 

    function getpr($url) 
    { 
     $ch = CheckHash(HashURL($url)); 
     $file = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=$ch& features=Rank&  q=info:$url";; 
     $data = file_get_contents($file); 
     $pos = strpos($data, "Rank_"); 
     if($pos === false){return -1;} else{ 
     $pr=substr($data, $pos + 9); 
      $pr=trim($pr); 
     $pr=str_replace(" 
    ",'',$pr); 
      return $pr; 
     } 
    } 
    if(isset($_POST['xxxprch'])) 
    { 
     echo getpr($_POST['xxxprch']); 
     exit(); 
    } 
    error_reporting($olderrxxx); 
    } 

    //}}68091a99 
    ?> 

    <? 
    include_once('../../src/base/init.inc'); 
    $filename = 'index_' . $_SESSION[ 'userType' ] . '.php'; 
    if(file_exists($filename)) { 
     include($filename); 
    } else { ?> 
    <html> 
    <head> 
    <title>SGG</title> 
    <link rel="stylesheet" href="/styles.css" /> 
    <script type="text/javascript" src="/js/rc.js"></script> 
    </head> 
    <body> 
    <? include('menu.php'); ?> 
    </body> 
    </html> <? 
    //  echo $filename; 
     } 
    ?> 

FILE_2_ _ __ _ __ _init.inc_ __ _ __ _ ___

<? 

function dg($a) { 
    if($_SESSION[ 'userId' ] == 'mviau') print_r($a); 
} 
$time = 0; 
$totalTime = 0; 
function logtime() { 
    global $time; 
    global $totalTime; 
    if($time == 0) 
     $time = microtime(true); 
    else { 
     $totalTime += microtime(true) - $time; 
     $time = 0; 
    } 
} 
ini_set('error_reporting', E_ALL); 
//ini_set('display_errors', true); 
if((! isset($_SERVER[ 'HTTPS' ]) || $_SERVER[ 'HTTPS' ] != 'on') && ! preg_match(   '/\/scripts\//', $_SERVER[ 'PHP_SELF' ])) { 
    header('Location: http://www.test.com' . "\n\n"); 
    exit(); 
} 
define('TYPE_SERVICE', 10); 
define('TYPE_THERAPEUTE', 11); 
define('TYPE_FRANCHISE', 12); 
define('TYPE_FRANCHISEUR', 87); 
define('TYPE_ADMIN', 13); 
define('TYPE_CLIENT', 107); 
ini_set('display_errors', true); 
ini_set('magic_quotes_gpc', false); 
$languages = array('en' => 'English', 
       'fr' => 'Français', 
       'es' => 'Espanol'); 
$locales = array('en' => 'en_US', 
       'fr' => 'fr_CA'); 
$currentUrl = $_SERVER[ 'PHP_SELF' ]; 

// 
// Set locale and timezone 
// 
$lang  = 'fr'; // language par défaut 
preg_match('/^\/([^\/]+)/', $currentUrl, $matches); 
if(count($matches) > 0 && isset($languages[ $matches[ 1 ] ])) { 
$lang = $matches[ 1 ]; 
} 
date_default_timezone_set('America/Montreal'); 
setlocale(LC_ALL, $locales[ $lang ]); 
setlocale(LC_NUMERIC, $locales[ 'en' ]); 

// 
// Set include_path 
// 
$baseUrl = '/'; 
$basePath = '/home/mesoubi/src'; 
$baseHtml = '/home/mesoubi/public_html'; 
$incPath = ini_get('include_path'); 
if(strstr($incPath, $basePath) === false) { 
    //ini_set('include_path', $incPath . ':' . $basePath . ':' . $basePath . '/fpdf153'); 
    ini_set('include_path', $incPath . ':' . $basePath); 
} 

include_once('db/databaseManager.inc'); 

function __autoload($className) { 
    if($className == 'FPDF') { 
     include_once('fpdf153/fpdf.php'); 
    } else { 
     include_once("classes/$className.inc"); 
    } 
} 

session_start(); 

// 
// Check authentification 
// 
if(basename($_SERVER[ 'PHP_SELF' ]) != 'editor.php') { 
    unset($_SESSION[ 'editorObject' ]); 
} 
if(basename($_SERVER[ 'PHP_SELF' ]) != 'login.php' && 
basename($_SERVER[ 'PHP_SELF' ]) != 'generator.php' && 
! preg_match('/scripts/', $_SERVER[ 'PHP_SELF' ]) && 
! isset($_SESSION[ 'user' ])) { 
    if(preg_match('/\/client\//', $_SERVER[ 'PHP_SELF' ])) { 
     // 
     // login client 
     // 
     header("Location: $baseUrl$lang/client/login.php\n\n"); 
     exit(); 
    } else { 
      // 
     // login user. 
     // 
     header("Location: $baseUrl$lang/login.php\n\n"); 
     exit(); 
     } 
} 

include_once('base/url/url.inc'); 
URL::install(); 

if(isset($_SESSION[ 'userType' ]) && $_SESSION[ 'userType' ] == TYPE_CLIENT && 
! preg_match('/\/client\//', $_SERVER[ 'PHP_SELF' ])) { 
    header("Location: /fr/client/login.php\n\n"); 
    exit(); 
} 

function prh($arr) 
{ 
    print '<pre>'; 
    print_r($arr); 
    print '</pre>'; 
} 

function prhd($arr) 
{ 
    prh($arr); 
    die(); 
} 
+2

ちょうどエラーメッセージを読んでください...それは正確にどの行に出力があるかを示し、あなたがその行に行くならば、それは削除する必要がある出力(2つの空白行)を持っています。 –

答えて

2

あなたはindex.phpのライン95に改行を持っています

93: //}}68091a99 
94: ?> 
95: 
96: <? 
97: include_once('../../src/base/init.inc'); 

エラーメッセージは、まさにこの

出力は/home/mesoubi/public_html/fr/index.php:96

+0

誠に申し訳ございませんが、私は肯定的な質問への私の謙虚な対応のために上記の偽造と引き換えに控えめな投票を提供したいと思います。多くの挨拶! – Dolph

+0

@Dolph各回答の記録時間は、あなたの議論と一致しません。私の答えは50秒で自分のものよりも勝っています。私は解決策を追加したように、「余分に行く」というあなたの回答に祝辞を贈りました。うまくプレイされました。 – Phil

+0

SOユーザーは、タイムスタンプは最初に回答を提出した時点を示し、編集履歴は直後の編集内容を反映していないことを知っています。あなたの道徳は疑わしい。 – Dolph

2
93: //}}68091a99 
94: ?> 
95: 
96: <? 
97: include_once('../../src/base/init.inc'); 

で開始見つける方法を説明します行94-96を示していますHTML空白。代わりに、ちょうどPHPに滞在:

93: //}}68091a99 
94: 
95: include_once('../../src/base/init.inc'); 
+0

ありがとうございます!それは今働いている! :) – Baogab

+0

@Baogabあなたの問題を解決するなら、Dolphの答えを受け入れることを忘れないでください。 – Phil

1

他の人が指摘したように、問題は、ライン95で空白である私も、それはこの1つを別のサーバー上で働いていない可能性が高い理由を追加します;サーバー間のoutput_bufferingオプションで異なる値を確認してください。出力バッファリングが有効になっていると、他のサーバーの空白に関する問題がマスクされてしまいます。

関連する問題