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

标签 php linux windows codeigniter ubuntu

我在 codeigniter 框架中制作了一个网络应用程序。我在 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 framework not working on linux

Windows code not working on linux

codeigniter upload not working on linux

这里也是Codeigniter issue

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

我的代码示例是

<?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);

}

}
?>

最佳答案

按照 Prix 的建议,我检查了我的错误日志,发现问题是由于语法错误引起的。 我正在使用 PHP 5.4.0 中添加的函数数组取消引用,但我的服务器运行的是 PHP 5.2。

解决方案是here

解决方案奏效了。我不得不求助于此方法而不是升级我的 PHP 版本,因为服务器正在运行 UBUNTU 12.04,它没有 PHP 5.4 的 repo 协议(protocol)。

关于php - 在 windows 和 linux 中使用 codeigniter 时的命名约定问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25675750/

相关文章:

linux - Yii 关系在 Linux 上返回 null

linux - 使用 ; 在 Lua 中连接问题

c - 如何获取大于 4 Gb 的文件大小?

php + mysql + 如何在数据库中添加逗号分割字符串

php - 返回 queryfetch 并输出特定行

c++ - getnameinfo() 编译时错误 - 在 Linux 中提取 MAC 地址

c++ - 如何从 Logonuser 获取没有密码的用户帐户的用户 token ?

mysql - 在 Windows 中通过命令行连接到远程 mysql 服务器

php - 有哪些方法可以改进这个长 mysql 搜索查询?

php - Zend 框架错误 :Invalid parameter number: no parameters were bound'