当前位置: 首页 > 知识库问答 >
问题:

在windows和linux中使用codeigniter时的命名约定问题

淳于博
2023-03-14

我在codeigniter框架中制作了一个web应用程序。我是在Windows机器上开发这个应用程序的,最终版本在同一台机器上运行得非常好(确切地说是Windows,wamp)。现在我需要在ubuntu服务器上部署这个应用程序。在应用程序中要求初始登录后,它不会显示任何其他页面。在检查控制台时,我发现了这个

[09:08:37.255] GET http://localhost/sac.org/index.php/member [HTTP/1.0 500 Internal Server Error 17ms]

我认为这是一个非常普遍的问题,从这些问题可以明显看出:

codeigniter框架在linux上不工作

Windows代码在linux上不工作

codeigniter上载在linux上不工作

这里也有Codeigniter的问题

还有更多。这些帖子中提到的答案对我不起作用。有什么办法解决这个问题吗?

我的代码样本是

<?php
class member extends CI_Controller{
    public $data1 = "";
    public function __construct(){
        parent::__construct();
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->library('session');
        $this->load->library('table');      
        $this->load->model('membermodel');
        $this->data1 = $this->membermodel->getYearList();
    }
    private function accesscheck(){
        $privilege = $this->session->userdata('privilege');
        if($privilege=='2'||$privilege=='1'){
            return "True";
        }

    }

    public function index(){
        echo phpinfo();
        die();
        if($this->accesscheck()){
        $data = array('years'=>$this->membermodel->getYearList());
        $notifications = $this->membermodel->numberOfNotifications();
        $this->session->set_userdata('notifications',$notifications);
        $this->load->view('templates/header',$data);
        $this->load->view('templates/menu');
        $this->load->view('members/home',$data);
        $this->load->view('templates/footer');

    }
else{
    $this->load->view('templates/accessErr');
}}

    public function year($year){
        if($this->accesscheck()){

            $this->getTable($year,"FullList");


    }else{
    $this->load->view('templates/accessErr');
}}

    public function positive($year){
        if($this->accesscheck()){
            $this->gettable($year,"positive");
        }else{
            $this->load->view('templates/accessErr');
        }
    }
    public function negative($year){
                if($this->accesscheck()){

                    $this->getTable($year,"negative");

}
    else{
    $this->load->view('templates/accessErr');
}}
    public function neutral($year){
                if($this->accesscheck()){
            $this->getTable($year,"neutral");


    }else{
    $this->load->view('templates/accessErr');
}}

    public function registered($year){
                if($this->accesscheck()){

                    $this->gettable($year,"register");

    }else{
    $this->load->view('templates/accessErr');
}}
    public function uncontacted($year){
                        if($this->accesscheck()){
            $this->getTable($year,"uncontacted");

    }else{
    $this->load->view('templates/accessErr');
}}
    public function unsearched($year){
                        if($this->accesscheck()){
            $this->getTable($year,"unsearched");


    }else{
    $this->load->view('templates/accessErr');
}}
    public function notfound($year){
                                if($this->accesscheck()){

                $this->gettable($year,"notFound");


    }else{
    $this->load->view('templates/accessErr');
}}
public function Paid($year){
    if($this->accessCheck()){

                    $this->getTable($year,"Paid");


    }else{
    $this->load->view('templates/accessErr');
}}
public function getProfile(){
    $id=$this->input->get('id');
    $data = $this->membermodel->getPrimaryInfo($id);

    echo json_encode($data);
}
public function getTable($year,$list){
    $this->data1 = $this->membermodel->getYearList();
        if(in_array(array('alumSince'=>$year),$this->data1)){// think of a get around
            $data['table'] = $this->membermodel->getTable($year,$list);
            $data['year'] = $year;
            $this->load->view('templates/header');
            $this->load->view('templates/menu');
            $this->load->view('members/fullList',$data);
            $this->load->view('templates/footer');
        }else{
            $this->load->view('templates/header');
            $this->load->view('templates/badParam');
            $this->load->view('templates/footer');
        }
}


public function search(){

        if($this->session->userdata('privilege')){
        $this->load->view('templates/header');
        $this->load->view('templates/menu');
        $this->load->view('members/search');
        $this->load->view('templates/footer');

        }
        else
        $this->load->view('templates/accessErr');
    }

    public function generate_result(){


        if($this->session->userdata('privilege')){
            $data = $this->membermodel->search();

                        if($data){
                            $this->load->view('templates/header');
                            $this->load->view('templates/menu');
                            $this->load->view('members/search_result',$data);
                            $this->load->view('templates/footer');
                        }



        }else{
            $this->load->view('templates/accessErr');
}

}

public function updateProfile(){
    if($this->accessCheck()){
        if($this->input->post('submit')){

            if($msg = $this->membermodel->updateProfile()){
                header('Refresh:2,url='.$_SERVER["HTTP_REFERER"]);//security issues here
                echo $msg;
            }
        }

    }else{
        $this->load->view('templates/accessErr');
    }


}

public function updateSearch(){
    if($this->accessCheck()){
        $alumid = $this->input->get('alumid');
        $search = $this->input->get('search');
        $result = $this->membermodel->updateSearch($alumid,$search);
            echo $result;
        }
        else{
        $this->load->view('templates/accessErr');
    }
}
public function updateResponse(){
    if($this->accessCheck()){
        $alumid = $this->input->get('alumid');
        $response = $this->input->get('response');
        $result = $this->membermodel->updateResponse($alumid,$response);
            echo $result;
        }
        else{
        $this->load->view('templates/accessErr');
    }
}
public function updatePayment(){
    if($this->accessCheck()){
            $alumid = $this->input->get('alumid');
            $dateofpayment = $this->input->get('dateofpayment');
            $referenceNo =  $this->input->get('referenceNo');
            $paymentAmt = $this->input->get('paymentAmt');
            $remarks = $this->input->get('remarks');
            $result = $this->membermodel->updatePayment($alumid,$dateofpayment,$referenceNo,$paymentAmt,$remarks);

                echo $result;




    }else{
        $this->load->view('templates/accessErr');
    }
}
public function updateRegister(){
    if($this->accessCheck()){
            $register  = $this->input->get('register');
            $alumid = $this->input->get('alumid');
            $result = $this->membermodel->updateRegister($alumid,$register);

                echo $result;




    }else{
        $this->load->view('templates/accessErr');
    }
}
public function addCallDetail(){
    $alumid = $this->input->get('alumid');
    date_default_timezone_set('Asia/Calcutta');
    $date = date('Y-m-d');
    $time = date('H:i:s');
    echo $this->membermodel->addCallDetail($alumid,$date,$time);
}

public function updateCall(){
        $remarks = $this->input->get('remarks');
        $nextdate = $this->input->get('nextdate');
        $nexttime = $this->input->get('nexttime');
        $callid = $this->input->get('callid');
        $alumid = $this->input->get('alumid');
        echo $this->membermodel->updateCall($remarks,$nextdate,$nexttime,$callid,$alumid);

}
public function updateMember(){
        $name = $this->input->get('name');
        $age = $this->input->get('age');
        $gender = $this->input->get('gender');
        $relationship = $this->input->get('relationship');
        $alumid = $this->input->get('alumid');
        echo $this->membermodel->updateMember($name,$age,$gender,$relationship,$alumid);

}
public function removeAccompaniant(){
        $memberid = $this->input->get('id');
        $alumid = $this->input->get('alumid');
        echo $this->membermodel->removeAccompaniant($memberid,$alumid);

}
public function updateRemark(){
    $remark = $this->input->get('remark');
    $alumid = $this->input->get('alumid');

    echo $this->membermodel->updateRemark($alumid,$remark);
}


public function getNetworkingSummary($year){

    $userid = $this->membermodel->getUserId();
    if($data =  $this->membermodel->getNetworkingSummary($userid,$year))
        echo json_encode($data);

        //echo json_encode($data['msg']="boo");
}
public function getNotifications(){
    if($this->accessCheck()){
        $data['result'] = $this->membermodel->getNotifications();
        $this->load->view('templates/header');
        $this->load->view('templates/menu');
        $this->load->view('templates/dummyMember',$data);
        $this->load->view('templates/footer');
    }else{
        $this->load->view('templates/accessErr');

    }

}
public function notificationStatus(){
    $id = $this->input->get('id');

    $this->membermodel->updateNotificationStatus($id);

}

}
?>

共有1个答案

欧镜
2023-03-14

根据Prix的建议,我检查了错误日志,发现问题是由于语法错误造成的。我使用的是PHP5.4中添加的函数数组解引用。0,但我的服务器运行的是PHP5.2。

解决办法就在这里

解决办法奏效了。我不得不采用这种方法,而不是升级我的PHP版本,因为服务器运行的是Ubuntu12.04,它没有PHP5.4的repos。

 类似资料:
  • 为了在跨API开发中向开发者提供一致的开发体验,所有的命名应该保证: 简单 直观 一致 这适用于接口、资源、集合、方法以及消息的命名。 因为很多开发者并非以英语作为母语,所以命名约定的目标之一是确保大多数开发者可以更容易理解 API。对于方法和资源,我们鼓励使用简单、直观和一致的单词来命名。 API 中的命名应该使用正确的美式英语。例如,使用美式英语的 license 而非英式英语的 licenc

  • 在本节,我们不会讨论适用于大规模和可维护的最佳 CSS 命名方案,因为这不仅仅超过了个人的能力范围,也不是一个Sass样式指南可以解决的问题。我个人推荐遵从 CSS Guidelines 的建议。 良好的命名对保持整体代码的一致性和可读性非常重要,在 Sass 中可以命名的地方如下: 变量; 函数; 混合宏。 由于 Sass 占位符遵循和类名相同的命名模式,因此被视为常规的 CSS 选择器,也就在

  • 函数名 小技巧 使用小写字母,并用下划线分隔单词。使用双冒号 :: 分隔库。函数名之后必须有圆括号。关键词 function 是可选的,但必须在一个项目中保持一致。 如果你正在写单个函数,请用小写字母来命名,并用下划线分隔单词。如果你正在写一个包,使用双冒号 :: 来分隔包名。大括号必须和函数名位于同一行(就像在Google的其他语言一样),并且函数名和圆括号之间没有空格。 # Single fu

  • 问题内容: 我的完整变量名称是“唯一代码”,但是我希望此变量是“ ucode” -ish。 那么考虑Java命名约定是正确的吗? 编码 uCode UCode 问题答案: 请参阅编码约定。对于变量,建议使用驼峰式大小写。回覆。命名,我本以为 将是最合乎逻辑的选择(我知道那不在您的选择列表中)。任何变体在我看来都是 unicode 的缩写,我认为这是一种误导。以上不是一个太长的名称(例如,它不是Ab

  • 问题内容: 按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我知道关于哪种命名约定最适合JavaScript的争论很多(也许没有争议,但至少有争论)。 您如何命名变量,函数,对象等? 我将对此保留自己的想法,因为我已经

  • 问题内容: JSON命名有标准吗?我看到大多数示例都使用所有小写字母,并用下划线(lower_case)分隔。但是,可以使用PascalCase或camelCase吗? 问题答案: 目前尚无SINGLE标准,但我已经看到您提到的3种样式(“ Pascal / Microsoft”,“ Java”()和“ C”(下划线,))以及至少另外一种样式,例如)。 这似乎主要取决于所涉及服务的背景开发人员。具