2

シナリオ

私はブロガーに何千もの画像と投稿を含む古いブログを持っています.私はすでにブロガーからワードプレスにインポートサービス(画像をインポートしない)を使用して投稿をインポートしています.古いブロガーのブログの画像をワードプレスに。

問題

max_execution_time 私はすでにすべての投稿を通過し、ブロガーの画像リンクを見つけてリンクを再帰的にダウンロードし、それらをワードプレスのインストールにローカルに保存するスクリプトを作成しましたが、問題は、通常30に設定されているよりも時間がかかるとスクリプトが停止することです秒。今、php.iniファイルの設定を変更したくありません。スクリプトを長時間実行し続ける方法や、他の代替方法はありますか....バッチで実行するなど...

php.ini の設定を変更しない理由は、このスクリプトを wordpress のオープンソース プラグインとしてリリースしたいからです。サーバー上の php.ini ファイルにアクセスできる人は多くなく、多くの人は 1 つのスクリプトだけの設定を変更することを好みません。一度だけ実行される場合があります。

助けてくれてありがとう....

4

2 に答える 2

4

一部の ini 設定は実行時に変更できるため、スクリプトの現在のインカネーションにのみ影響します。この場合、特別な関数set_time_limit()があります:

set_time_limit(0);

これにより、スクリプト実行の時間制限が効果的に取り除かれます。他のすべてのスクリプトは影響を受けません。

于 2010-01-25T06:35:16.597 に答える
0

ゼロ以外の時間を呼び出すことができる場合はset_time_limit、タイマーが設定されるたびにタイマーがリセットされるため、反復するたびに制限時間をリセットできます。

または、ドキュメントによってよりよく言われます:

set_time_limit()が呼び出されると、タイムアウトカウンターがゼロから再開されます。つまり、タイムアウトがデフォルトの30秒で、スクリプト実行の25秒後にset_time_limit(20)などの呼び出しが行われる場合、スクリプトはタイムアウトする前に合計45秒間実行されます。

各反復が完了するのに十分な長さの時間を選択するようにしてください

于 2010-03-14T16:19:52.203 に答える