2017-05-10 3 views
0

getimagesize関数に問題があり、サーバーがフリーズしています。php getimagesize関数がサーバーをフリーズしています

@foreach($categories as $category) 
     <span>{{$category->thumb}}</span> 
     <div class="box-categoria"> 
      <a href="{{$category->generateCategoryUrl()}}"> 
       @if(isset($category->thumb)&&$category->thumb != ""&&getimagesize($category->thumb)) 
        <img src="{{$category->thumb}}" width="150"/> 
       @else 
        <img src="{{asset('assets/images/no-thumb.jpg')}}" width="150"/> 
       @endif 
       <div class="overlay"></div> 

      </a> 
     </div> 
     @endforeach 

これは通常、別のコンピュータで動作し、プロダクションサーバーでも機能します。

このプロジェクトは、Laravelフレームワーク、職人サーバや画像のURLを使用していますが、このようなものです:

http://www.portaldamarcaelectrolux.com.br/owners/575889d6024f03012e4273b6/categories/f18058073cffbcba22945e57544b120a.jpg

おかげ

+0

「サーバーがフリーズする」とはどのようなことを考えていますか?エラーログがありますか? –

+0

ただタイムアウト local.ERROR:例外メッセージと 'symfonyの\コンポーネント\デバッグ\例外の\ FatalErrorException' Dにおける '超過60秒の最大実行時間':\ Projetos \ TradeSquashV2 \ベンダー\ laravelの\枠組み\ SRC \照らす\財団\ブートストラップ\ HandleExceptions.php:56 –

+0

あまりにも問題なく画像負荷が、私はURLを直接 –

答えて

2

それはブレードには、このチェック(getimagesize)を置くことは非常に奇妙ですビュー。これはバックエンドのロジックで、これをオンザフライでチェックするパフォーマンスは非常に悪いです。より良い方法は、if-else条件なしでブレードビューにこのようなロジックを単純化することです。

<img src="{{$category->thumb}}" width="150" onerror="this.src='/assets/images/no-thumb.jpg';"/> 

親指が存在しない場合、画像no-thumbがロードされます。

+0

感謝を呼び出す場合、私はこれをしようと、このプロジェクトは古いものである –

+1

なぜ、機能がフリーズするのか分かりませんが、これが私の問題を解決しました。どうもありがとう –

関連する問題