2011-12-24 3 views
0

私はAmazon EC2で簡単なPHPスクリプトを実行しようとしていました。 ブラウザで空白の画面が表示されたら、ステップ間にガベージ構文やエコーを入れ始めました。それから私はスクリプトが何の誤りもなく失敗していることを理解しました。ブラウザにPHPエラーはありません。サイレント・エラーの原因は、どのconfigですか?

サイレントエラーを無効にするにはどうすればよいですか?

<?php 

putenv('HOME=/root'); 
echo 'after env'; //displayed on browser 
require_once('/home/ec2-user/AWSSDKforPHP/sdk.class.php'); 
//i believe this require step was failed 
echo 'after require'; // not displayed on browser 
$ec2 = new AmazonEC2(); 
$response = $ec2->describe_availability_zones(); 
print_r($response); 
echo 'hello'; 

?> 
+1

あなたのerror_reportingはどのように設定されていますか? – Nonym

+0

どこを見ますか? php.ini? –

+1

ええ、php.ini、おそらく238の近く – Nonym

答えて

7

それはオフになる場合もあり、あなたのphp.ini設定、エラー表示やエラー報告に依存することができます。

あなたのスクリプトの先頭にこれを追加します。

// Turn off all error reporting 
error_reporting(0); 

// Report simple running errors 
error_reporting(E_ERROR | E_WARNING | E_PARSE); 

// Reporting E_NOTICE can be good too (to report uninitialized 
// variables or catch variable name misspellings ...) 
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 

// Report all errors except E_NOTICE 
// This is the default value set in php.ini 
    error_reporting(E_ALL^E_NOTICE); # this is what you might want to try using 

// Report all PHP errors (see changelog) 
error_reporting(E_ALL); 

// Report all PHP errors 
error_reporting(-1); 

// Same as error_reporting(E_ALL); 
ini_set('error_reporting', E_ALL); 
+0

ありがとう..働いています: –

+1

私のために働かなかった。私はphp.iniを編集しなければならなかった。 –

2

次のいずれかを試してみてください=

0

私はこの問題を抱えていたとはdisplay_errorsにに/etc/php.ini編集して、それを修正:

ini_set('display_errors', 1); 
error_reporting(E_ALL); 
3

であなたはこれを追加ウェズリーマーチから

を同じ答えを使用することができますあなたのスクリプトの先頭:

ini_set('display_errors', 1); 
error_reporting(E_ALL); 

上記のうち、あなたのPHPページをリフレッシュするだけです。

または 「/etc/php5/apache2/php.ini」でphp.iniファイルを編集し、php.iniファイルを編集する場合は、あなたが必要となります

display_errors = On 

行を追加または編集Apacheを再起動します。 (時にはそれが動作しない、そしてあなたがローカル/最初のソリューションを使用する必要があります)

のUbuntu:

sudo service apache2 restart 

私はそれが動作願っています。

関連する問題