質問: $reader->load($filename); ``` ### 試したこと set_time_limitで最大実行時間を設定する方法では例外がキャッチできず対応できませんでした。 そもそもエクセルファイルが破損する原因がわかっていませんが、メモリ1GBのVPSでcronで約2分ごとに作成するレポートファイルのため、メモリ不足とかそういうことかもしれません。性能の良いマシンに交換すれば解決する問題かもしれませんが、根本的な問題解決になりません。 破損したエクセルファイルを判定する方法など、よい解決方法をご存知の方がいらっしゃいましたら、ご教示いただければ幸いです。 よろしくお願い致します。 ### 補足情報(言語/FW/ツール等のバージョンなど) centos6 + php5.6 + PHPExcel 1.8.0
回答: 破損ファイルの区別は難しいと思います。(破損とする基準が不明な為) 作成したファイルをダウンロードするように作っている場合、 ダウンロード前にPHPでなんらかの標準出力がせれている可能性があります。 ダウンロード処理の前に下記を追加してみてください。 (header作成の前あたり) ``` ob_end_clean(); ```