web-dev-qa-db-ja.com

ini_set、set_time_limit、(max_execution_time)-機能していません

set_time_limit(50)またはini_set('max_execution_time',50)を実行すると、ローカルホストでini_get('max_execution_time')をエコーすると、50が得られますが、別のサーバーでこれを実行すると、デフォルトの30をエコーし​​、私の要求を完全に無視します。どうしてこれなの?

13
Mickey

セーフモードで実行している場合、ini_set()でこの設定を変更することはできません。唯一の回避策は、セーフモードをオフにするか、php.iniの制限時間を変更することです。

-PHP手動、ランタイム構成、 max_execution_timeの説明

多くのホストはセーフモードで実行されます。他のサーバーはおそらくそれらの1つです。

編集:同じ制限がset_time_limitにも適用されます:

この関数は、PHPがセーフモードで実行されている場合は効果がありません。セーフモードをオフにするか、php.iniで制限時間を変更する以外に回避策はありません。

-PHPマニュアル、 set_time_limit ページ

13
Powerlord

Max_execution_timeを変更できます。
1行(max_execution_time = 600)php5.iniをルートフォルダー(php.iniが存在する場所)にアップロードします。

1
Rahul

GoDaddyでは、リモートPHP.INIファイルを編集したり、(同じ機能を実現して)実行時にこれらのオプションを設定したりできますか?多くの制限付きホスト(そして私はGoDaddyについてこれを何らかの方法で知りません)は、WAMPで行ったように、構成ファイルを介して、または実行時にPHPオプションを使用することを許可しません。まだその関数を呼び出しているのに、適用されていない可能性があります。

使用する

echo 'Time Limit = ' . ini_get('max_execution_time') .

マニュアルには、PHP.INIで設定されている場合、このランタイムが上書きされると記載されています。 set_time_limitに関するPHPマニュアル

1
Alex Mcp