Smarty テンプレートの getimagefile() はランダムに動作します
P粉715274052
P粉715274052 2023-09-11 00:04:59
0
1
571

フォト ギャラリー テンプレート (CMSMS) では、次のコードを使用します:

リーリー

ギャラリーがロードされるたびに、一部の画像のみ (場合によってはすべての画像) の寸法 (幅と高さ) が取得されます。それは完全にランダムであり、必ずしも同じ画像であるとは限りません。明らかに、さまざまなソースからさまざまな画像を試しました。

「オープン ストリームに失敗しました: 接続が拒否されました」というエラーが発生しました。 Ctrl F5 ランダムに与える

これは共有ホスティング (OVH) です。

Web サイトのルートに php ファイルと画像ディレクトリ (多数) を作成しました。

リーリー

正常に動作し、すべての画像が処理されます。

それで、もし誰かが以前にこの問題に遭遇したことがあれば...

P粉715274052
P粉715274052

全員に返信(1)
P粉515066518

多くのホスティング プロバイダーは、DDOS 攻撃に対抗するため (またはリソース割り当てを考慮するため)、接続制限や接続速度制限 (または同様のもの) を課しています。

接続速度制限の場合:

リーリー

他の方法を使用して、1 秒あたりの PHP 呼び出し/特定の PHP メソッド呼び出しの数を制限することもあります。

テンプレート メソッドの場合、getimagesize への各 呼び出しは 個別の リクエストであるため、スロットルがトリガーされ、接続拒否エラーが発生する可能性があります

PHP の方法では、単一のリクエストとして扱われるため、正常に通過します。

この問題を解決するには、ホスティング会社に相談するしかないと思います (ただし、可能性のある DDOS などを解決する必要があるため、対応してもらえないかもしれません)。そうでない場合は、PHP が画像レコードを解析する方法に固執する (または Go に切り替える)別のホスティング会社へ/専用サーバーを使用)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート