【问题标题】:PHPExcel + Kohana: 500 Internal Server ErrorPHPExcel + Kohana:500 内部服务器错误
【发布时间】:2013-06-26 20:02:53
【问题描述】:

我在 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 设置,但它是共享主机帐户,所以我可能无法更改。感谢您的帮助!

【问题讨论】:

    标签: kohana phpexcel mod-fcgid


    【解决方案1】:

    默认情况下,FastCGI 进程在 500 个请求后退出。您可以提高 PHP_FCGI_MAX_REQUESTS(在包装器中)或将 FcgidMaxRequestsPerProcess 限制为块中的 500。

    我不认为你可以在不修改 FastCGI 配置的情况下解决这个问题,但我可能是错的。

    阅读http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#examples

    【讨论】:

    • 那么什么是请求?是一个用户访问一页 = 1 个请求吗?还是 1 个 php 脚本可以使用多个请求?
    【解决方案2】:

    我会说你的文件太大或者你的脚本超过了最大值。执行时间处理时间。在调用您的函数之前尝试此代码:

    ini_set('max_execution_time', 0); // No time limit
    ini_set('post_max_size', 20M);
    ini_set('upload_max_filesize', 20M);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-17
      • 2011-10-17
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多