自分のコンピュータで開発したCMSを最初のドメインサーバーにデプロイしています。関数:PHPリダイレクトで空白のページが表示される(サーバーにデプロイされている場合のみ)
header("Location: {$location}");
すべてが私の家のマシンでWAMPを通して正しく動作します。しかし、私はそれを空のページにリダイレクトしているサーバーに展開した後。私は別のファイルに問題をテストし、それが限りだけ含まれているredirect_to機能を含むファイルをWORKSことがわかったので、それはこのようになりますしている:
<?php //require_once("includes/session.php");?>
<?php require_once("includes/functions.php");?>
<?php //require_once("includes/constants.php"); ?>
<?php //require_once("includes/connection.php"); ?>
<?php
define("DB_SERVER", "mysite.ipagemysql.com");
define("DB_USER", "root");
define("DB_PASS", "notreal");
define("DB_NAME", "myCMS");
redirect_to("login.php");
phpinfo();
?>
これは私がで定義されているリダイレクト機能でありますfunctions.php:
私はリダイレクトはもはや機能し、他が含まれている場合、単に空白のページに行き、のfunctions.phpファイルを含めることができるだけで // redirects the user to the page/path specified by $location
function redirect_to($location){
if($location != NULL){
header("Location: {$location}");
exit();
}
}
お知らせが...私がいたコードをコピーすることができます上記のようなインクルードファイルの中のconstants.phpファイルは、
<?php
// Database constants
define("DB_SERVER", "mysite.ipagemysql.com");
define("DB_USER", "root");
define("DB_PASS", "notreal");
define("DB_NAME", "myCMS");
?>
ドメインサーバーからすべてのCMSページを定期的に読み込み、DBにアクセスして保存することができます。 DBに保存することができるので、DBにアクセスするために必要なファイルが含まれているため、テストするファイルを含めても問題はないと仮定しています。問題は純粋にリダイレクトです。すべてがうまく動作し、ローカルホストとしてcompで実行されるように設定されています。
私はこの問題を探していて、終日ソリューションを試しています。私はそれを他のファイルを含めることができないという問題に絞り込んだのですが、私はなぜそれがドメインサーバで起こっているのか分かりません...
ご協力いただきありがとうございますこれを読む時間を割いて。
空白のページがある場合は、 'error_reporting'(php.iniまたはindexスクリプト)をオンにし、そして/またはウェブサーバー' error.log'を調べます。そして、本当に失敗したリダイレクトの場合は、[ヘッダがすでに送信されている]を参照してください(http://stackoverflow.com/questions/8028957/headers-already-sent-by-php) – mario