0

そこで私の計画は、PHP と IECapt を使用して URL の小さなサムネイルを作成することです。優れたコマンド ライン ツールである IECapt はうまく機能し、指定した URL のフル サイズの画像を 1 ~ 4 秒で取得します。しかし、私の問題は、PHP を介して実行することです。これは私が動作させようとしているコードです:

exec('IECapt.exe ' . escapeshellarg($URL) . ' ' . escapeshellarg($Filename))

$URL はもちろん URL であり、$filename は URL の簡略化されたバージョンです。

ときどき IECapt で画像をスナップすることがありますが (PHP 経由)、非常​​に時間がかかり (30 ~ 60 秒)、最終的には常に 500 エラーが発生し、何が問題なのかを示すエラー メッセージは表示されません。どちらの変数も問題なく、コマンドラインで手動で機能します。

IECapt http://google.com Google.png

関連する場合、サーバーのセットアップは IIS7 と PHP5.2.9 です。(Windows Vista、すべて私のパソコン上にあるため、フル アクセスです。)

何か案は?

4

2 に答える 2

0

おそらく実行時間が超過し、スクリプトが強制終了されます。 http://us3.php.net/manual/en/info.configuration.php#ini.max-execution-time

構成ファイルを編集したら、エラーメッセージの表示がオンになっていることも確認して、画面に表示されるようにします(display_errorsをオンに設定します)。

于 2009-09-22T14:40:08.403 に答える
0

Palantir が言うように、デフォルトの PHP 実行時間を超えています。長時間 (つまり、数秒以上) かかる可能性のあるアクションは、Web ブラウザーで PHP スクリプトを介して実行しないでください。

これらの種類のアクションを非同期で実行するには、CLI スクリプト (コマンド ライン) を作成する必要があります。デフォルトでは、CLI スクリプトには実行時間の制限がありません。

詳細については、 http://php.net/cliを参照してください

この種の処理を頻繁に行う場合 (つまり、何百ものアクションを処理する必要がある場合) は、この種の問題を解決するように設計されたメッセージ キューを検討する必要があります。http://framework.zend.com/manual/en/zend.queue.htmlを参照してください。

ウェブブラウザは重い処理をするのに適した場所ではありません:)

于 2009-09-22T17:31:37.570 に答える