0

我有一个工作得很好的功能。然后我将它上传到实时服务器,它给了我一个 500 内部服务器错误。在谷歌搜索之后,人们说当某些东西(但他们不确定是什么)被服务器弄乱时,你会得到一个错误。不是很有帮助。其他人说检查你的错误日志。我不知道怎么去。

导致错误的函数================================

 private function get_workstation () {
  //================ I tried deleting all but this and that got rid of the error== //
    if ($this->input->post('search')) {
        $search = $this->input->post('search');
        $where = 'ad_name ="'.$search.'" AND';
        $this->data['search'] = $search;
    } else {
        $where = '';
    }
    // ================================================================= //
    // Pagination Code //
    $numOfRows = $this->db->query('
        SELECT distinct sys_name 
        FROM v_rollout_sysuser 
        WHERE scope_ID = '. $this->session->userdata('scopeId') .'
    ');

    if ($this->input->get('page')) {
        $pageNum = $this->input->get('page');
    } else {
        $pageNum = 1;
    }

    $limit = ($pageNum - 1 ) * 50;
    $numRows = $numOfRows->num_rows();
    $totalPages = ceil($numRows / 50);

    $this->data['pageNum'] = $pageNum;
    $this->data['prevPage'] = $pageNum - 1;
    $this->data['nextPage'] = $pageNum + 1;
    $this->data['totalPages'] = $totalPages;

    // End of Pagination Code //

    $query = $this->db->query('
        SELECT * 
        FROM v_rollout_sysuser
        WHERE '.$where.' scope_ID = '. $this->session->userdata('scopeId') .'
        GROUP BY sys_name 
        LIMIT '.$limit.',50');

    $i = 0;

    foreach ($query->result() as $row) {
        $i = $i + 1;
        $data['i'] = $i;
        $data['ro_ID'] = $row->ro_ID;
        $data['sys_name'] = $row->sys_name;
        $data['EAM_Model'] = $row->EAM_Model;           
        $data['EAM_User'] = $row->ad_account;
        $data['ad_DispName'] = $row->ad_DispName;
        $data['search'] = $this->input->post('search');

        $systems[] = $data;
    }

    if(isset($systems)) {
        $this->data['systems'] = $systems;
    } else {
        $this->data['systems'] = null;
    }

}
4

5 回答 5

1

您是否能够加载 CodeIgniter 网站的任何页面或仅加载特定页面?

以下步骤可能会帮助您进行调试:

在您的主 .htaccess 文件中添加以下行:

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on

在您的主要 index.php 部分“应用程序环境”中,设置“开发”环境:

define('ENVIRONMENT', 'development');

您还可以在 config/config.php 文件的“错误日志阈值”部分启用 CodeIgniter 错误日志记录

如果其中任何一个没有取得任何进展,请联系您的服务器管理员:)

于 2012-06-12T20:43:07.843 回答
1

事实证明,数据库存在问题。对那些花时间试图提供帮助的人感到抱歉。运行数据库的人发现了问题。谢谢你的尝试。

于 2012-06-13T20:15:30.987 回答
0

如果我是你,我会做以下调试:

  1. 在php.ini中设置php报错为8191,display_errors为1
  2. 在每个相关条件下使用 isset。
  3. 手动检查数据库连接。

希望这可以帮助。

于 2012-06-12T20:42:48.937 回答
0

它可能是 double ->s in $this->input->post,尝试将其拆分为单独的部分,例如

$a = $this->input;
if ($a->post('search')) {

以我的经验,一些配置不喜欢 doubles like $this->input->post,尤其是旧版本和一些 IIS 配置

于 2012-06-12T20:38:40.860 回答
0

试试这个:

$search = $this->input->post('search');
if ($search) {
    $where = 'ad_name ="'.$search.'" AND';
    $this->data['search'] = $search;
} else {
    $where = '';
}
于 2012-06-13T00:23:19.143 回答