2011-01-28 12 views
1

私はイメージにいくつかのヘッダを追加し、いくつかのコードを持っている:タイトルbackground.png.phpの500の内部サーバエラーを返すPHPイメージ?

内容:

<?php 
$im = imagecreatefrompng("title-background.png"); 

header('Cache-Control: public'); 
header('Content-type: image/png'); 
header('Expires: 19 Febuary 2012 20:00:00 GMT'); 

imagepng($im); 
imagedestroy($im); 
?> 

そして、それが正常に動作していますが。私は、別のファイルにbutton.png.phpの

内容同じことをしようとしたとき、しかし:500 で

<?php 
$im1 = imagecreatefrompng("button.png"); 

header('Cache-Control: public'); 
header('Content-type: image/png'); 
header('Expires: 19 Febuary 2012 20:00:00 GMT'); 

imagepng($im1); 
imagedestroy($im1); 
?> 

サーバーのリターンを私は私のログにアクセスできません。

+0

画像のパスを確認しましたか?ファイルにアクセスできますか? – 0x60

+0

これらの行をファイルの先頭に追加して、500エラーを防止してから、PHPエラーが発生するかどうかを確認してください。 '<?php error_reporting(E_ALL); ini_set( 'display_errors'、 'on');エコー "aaa"; ob_flush(); ?> ' –

答えて

1

うわー、申し訳ありません、みんな - stackoverflowサーバーを混乱させます。私の朝食に1分をかけて、私はそれを働いた...

タイトル - バックグラウンド.png.phpは、同じサーバーで指摘されました: - しかし、button.png.phpはDIFFERENTサーバ!

私は、http://などの完全なパスを入力することで修正しました。

2

button.pngが存在しないか、読み取れないか、何らかの形でimagecreatefrompng()と互換性がないと思われます。

+0

不正な形式または存在しないファイルは500を引き起こす可能性がありますか? – zerkms

+0

@zerkms:サーバーがPHPを処理するために使用するSAPI、または使用されるカスタムフレームワークが 'E_ERROR'に500ステータスコードを返すように設定されている場合、yesです。 –

関連する問題