1

PHP Web システムを Windows ホスティング プロバイダーから Linux ベースのホスティング サービスに移行しました。

システムのスクリプトでは、 になるとrequire_once、スクリプトは単に停止し、ユーザーを空白の白いページに残します。

以下の両方を試しました。

1を試す

require_once($_SERVER['DOCUMENT_ROOT'] . '\library\data\Dbec.php') or die("could not load file");

トライ2

require_once(dirname(__FILE__) . '/library/data/Dbec.php') or die("could not load file");

どちらの場合も、丸括弧内のテキストは表示されず、ページは空白のままです。上記のファイルを必要とするスクリプトは、「/library/membership/theScript.php」にあります。

これまでにオンラインで行った読み取りに基づいて、php.ini ファイルの include_path を変更するか、別の方法でパスを記述することに関係している可能性があります。

上記のいずれか、または何か異なる場合は、いくつかのヒントをいただければ幸いです。

4

3 に答える 3

1

エラー ログをチェックして、目に見える問題がないかどうかを確認します。また、設定を試して、php.ini でerror_reporting = E_ALLと を確認display_errors = Onしてください。log_errors = On

含めようとしているファイルは '/library/membership/theScript.php' にあります。

require_once '../data/Dbec.php';
于 2012-05-29T19:45:11.857 に答える
0

ファイルのパーミッションとファイル名にも問題がある可能性があります。Windows ファイルシステムは大文字と小文字を区別しますが、Linux はそうではありません。そのため、ファイル名と、このスクリプトを実行するユーザーが、require_once で含めようとしているファイルに対する読み取り権限を持っていることを確認する必要があります。

于 2012-05-29T20:19:29.923 に答える
0

これはあなたが望むことをするつもりはありません。以降はすべて条件require_onceとして解釈されます。それは実行されて返され、次に実行されます。($_SERVER['DOCUMENT_ROOT'] . '\library\data\Dbec.php') or die("could not load file")1require_once 1

期待どおりに動作させるには、追加の括弧が必要になります。

(require_once($_SERVER['DOCUMENT_ROOT'] . '\library\data\Dbec.php')) or die("could not load file");

ただし、 が呼び出されるかどうかはわかりませんdie()。理解するのはあなた次第です。

「バグではない」と判断されたこの関連するバグ レポートを参照してください。

于 2012-05-29T19:49:45.567 に答える