500 内部服务器错误 - 无错误日志


500 Internal Server Error - No Error Log

我有一个工作得很好的函数。然后我把它上传到实时服务器,它给了我一个 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;
    }
}

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

以下步骤可能有助于调试:

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

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on

在主索引.php"应用程序环境"部分中,设置"开发"环境:

define('ENVIRONMENT', 'development');

您还可以在配置/配置文件中启用 CodeIgniter 错误日志记录.php"错误日志记录阈值"部分

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

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

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

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

根据我的经验,有些配置不喜欢像$this->input->post这样的替身,尤其是旧版本和一些IIS配置

如果我是你,我会执行以下操作来调试:

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

希望这有帮助。

试试这个:

$search = $this->input->post('search');
if ($search) {
    $where = 'ad_name ="'.$search.'" AND';
    $this->data['search'] = $search;
} else {
    $where = '';
}