セーフ モードが有効になっているリモート サーバーでは、「set_time_limit」と「ini_set(\'max_execution_time\')」が無効になるのはなぜですか?

DDD
リリース: 2024-10-31 09:45:02
オリジナル
640 人が閲覧しました

Why are `set_time_limit` and `ini_set('max_execution_time')` ineffective on my remote server with safe mode enabled?

リモートサーバーでは PHP 時間制限関数が無効です

set_time_limit(50) または ini_set('max_execution_time', 50) を使用して時間制限を設定する場合ローカルで max_execution_time を取得すると、目的の値が得られます。ただし、別のサーバーではデフォルト値 (30 秒) に戻り、これらの機能が無効になります。

説明

この問題は、リモートサーバーのセーフモード設定。 PHP のセーフ モードでは、ini_set() を使用して max_execution_time 設定を変更することはできません。この制限は set_time_limit() にも適用されます。

回避策

この問題を解決するには、2 つのオプションがあります:

  1. セーフ モードを無効にする: これは、サーバーの構成を変更することで実行できます。ただし、セキュリティ上の懸念から、通常は推奨されません。
  2. php.ini を変更します: リモート サーバー上の php.ini ファイルを編集し、max_execution_time を目的の値に設定します。

セーフ モード制限の理由

セーフ モードは、スクリプトで実行できる特定のアクションを制限することでセキュリティを強化するために PHP に導入されました。スクリプトが無期限に実行されないようにすることは、これらのセキュリティ対策の 1 つです。

注: PHP マニュアルには、安全な場合には set_time_limit() と ini_set('max_execution_time', 50) の両方が効果がないことが明確に記載されています。モードが有効になっています。唯一の回避策は、セーフ モードを無効にするか、php.ini ファイルで時間制限を調整することです。

以上がセーフ モードが有効になっているリモート サーバーでは、「set_time_limit」と「ini_set(\'max_execution_time\')」が無効になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!