私たちは、SSHアクセス権を持たないサーバー上の非常に大きなアーカイブファイルのuntar/unzipする必要があります。代替オプションの1つは、ファイルを解凍するためにPHP経由でシステムコマンドを実行することです。PHPを使用してシステムコマンドを長いタイムアウト時間で実行しますか?
問題は、ファイルを解凍するにはかなりの時間がかかります。 PHPは完了する前にタイムアウトします。
PHPスクリプトがタイムアウトしたかどうかに関係なく、untarコマンドを完全に実行する方法はありますか?非同期実行と同じですか?
また、ファイルの解凍を完了するのに十分な時間があるように、PHPのタイムアウト期間を極端に長く設定するにはどうすればよいですか?サーバー構成は、これらの値を変更するのを防ぐことはできません場合
はLinuxシステムですか? afaik、Linux上では、システムコマンドに費やされた時間はmax_execution_time制限にはカウントされません。多分それはいくつかのタイムアウトが設定されているhttpdです。 –
Ditto、それはLinuxシステムですか?共有されたWebホスティングプラットフォームにありますか?おそらく、ファイルを非同期で解凍することができるcronjob(共有ホスティングで珍しくない)を定義して実行することができます。ファイルを一度解凍するか、ユーザーが圧縮ファイルをアップロードするたびに解凍する必要がありますか?それが一度だけの場合は、copmress/uncompress機能を持つファイルマネージャを使用してWebコントロールパネルにアクセスすることができます。または、ファイルを解凍するようサーバ管理者に問い合わせる方が簡単かもしれません。 – juanrpozo
はい、Linuxです。 Rackspace Cloudサイト。 –