在windows和linux中使用codeigniter时的命名约定问题 [英] Naming convention issues when using codeigniter in windows and linux
问题描述
我在 codeigniter 框架中创建了一个网络应用程序。我在Windows机器上开发该应用程序,最终版本在同样的运行(即windows,
I have made a web application in codeigniter framework. I was developing the app on a Windows machine and the final version runs perfectly well on the same (i.e windows, wamp to be precise). Now i need to deploy the app on a ubuntu server. After the initial login required in the app, it does not display any other page.On inspecting the console, I found this
[09:08:37.255] GET http://localhost/sac.org/index.php/member [HTTP/1.0 500 Internal Server Error 17ms]
我认为这是一个很常见的问题,从这些问题可以看出:
I think this is a very common problem, as is evident from these questions:
和这里 Codeigniter问题
等等。这些线程中提到的答案不适合我。
有没有办法解决这个问题?
and many more. The answers mentioned in these threads are not working for me. Is there some way to solve this 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的建议,发现问题是由于语法错误。
我正在使用 Function array dereferencing ,它已经在PHP 5.4.0中添加,但是我的服务器运行的是PHP 5.2。
As advised by Prix, I checked my error log and found that the problem was due to syntax error. I was using Function array dereferencing which has been added in PHP 5.4.0 but my server was running PHP 5.2.
解决方案是此处
解决方案工作。我不得不诉诸这种方法,而不是升级我的PHP版本,因为服务器运行的UBUNTU 12.04没有PHP 5.4的repos。
The solution worked. I had to resort to this method rather than upgrading my PHP version because the server is running UBUNTU 12.04 which has no repos for PHP 5.4 .
这篇关于在windows和linux中使用codeigniter时的命名约定问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!