Kohana でサイトを構築しており、Excel ファイルのアップロードを許可しようとしています。PHPExcel を使用してデータを読み取っています。ローカル サーバーでは正常に動作しますが、リモート サーバーでは失敗します。(リモートサーバーは xmission.com でホストされています)
したがって、コントローラーのコードは次のようになります。
public function action_bulk_upload()
{
if ($path = Kohana::find_file('vendor', 'PHPExcel')) {
require_once $path;
}
$objPHPExcel = PHPExcel_IOFactory::load($_FILES['upload']['tmp_name']);
$worksheet = $objPHPExcel->getActiveSheet();
$range = range('A', 'Z');
$data = array();
$i = 1;
while ($worksheet->cellExists('A' . $i)) {
$row = array();
foreach ($range as $letter) {
if (!$worksheet->cellExists($letter . $i)) {
break;
}
$cell = $worksheet->getCell($letter . $i);
$row[] = $cell->getValue();
}
$data[] = $row;
$i++;
}
$worksheet = null;
$objPHPExcel->disconnectWorksheets();
$objPHPExcel = null;
$view = View::factory('content/admin/events/bulk_form')
->bind('data', $data);
$this->add_content($view);
// The code gets here
}
コードはコントローラーを通過しますが、残念ながら 500 内部サーバー エラーが発生します。エラーログには次のように書かれています:
[Wed Jun 26 12:45:08 2013] [warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error.
[Wed Jun 26 12:45:08 2013] [warn] (104)Connection reset by peer: mod_fcgid: ap_pass_brigade failed in handle_request function
FastCgi の設定を変更する必要があるように思えますが、これは共有ホスティング アカウントであるため、変更できない可能性があります。助けてくれてありがとう!