Getting Internal Server Error (500) - Codeigniter

CodeIgniter 500 Internal Server Error

The problem with 500 errors (with CodeIgniter), with different apache settings, it displays 500 error when there's an error with PHP configuration.

Here's how it can trigger 500 error with CodeIgniter:

  1. Error in script (PHP misconfigurations, missing packages, etc...)
  2. PHP "Fatal Errors"

Please check your apache error logs, there should be some interesting information in there.

Codeigniter 500 internal server error due to index.php

You don't need to add index.php in config.php file.
Make sure you have following line in .htaccess file:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

500 Internal Server Error in codeigniter

I solved the issue , changed my .htaccess to

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

In config.php

$config['base_url'] = 'http://www.xyzsolutions.com/';

And As i am using Codeigniter version 3

The Controllers and model files names should start with an upper case,

Eg:

models/User_model.php
controllers/Welcome.php

I named my files with lower case( starting letter )so i was getting 404.

Lower case thing worked in localhost , but in server it will not work

Codeigniter blank page and error 500 in apache log?

I finally found something that pointed me in the right direction. These two posts mentioned how CI uses the @ in the database module might be causing that issue.

php return 500 error but no error log

CodeIgniter project loads blank webpage

I disabled auto-loading the database module and the site works. Now I just have to figure out the database error I was getting that might be causing CI to fail. I'll update this answer once I figure it out.

Update: I checked the account/password and access for the database everything was working. The issue was the php mysql driver was not installed. This is my first time really using an Ubuntu system and I thought that the mysql driver would be installed with the default php package, which I was incorrect about.

After installing php5-mysqlnd and enabling the database library in CI's autoload everything works properly now. The fact that I was not getting any errors is really making me consider changing frameworks.

500 Internal Server Error in CodeIgniter application

I have checked your other applications and found that most of them are working except for the 'hrs'. You should adopt the step by step approach.

  1. First, rename the index.php that comes with codeigniter and create your own index.php or index.html and try acccessing the same. See if it works or not
  2. If still not working, then delete the .htaccess file and try accessing those newly created index files and check
  3. If your are able to access the index files with the .htaccess file then there should be some issue with CodeIgniter. For which you should start enabling the DEBUG mode
  4. If you find that issue with CodeIgniter, then once again restore the index.php of the CodeIgniter and modify your config.php for $config['log_threshold'] = 4. Then in the index.php add the below code

    error_reporting(E_ALL); 
    ini_set('display_errors', 1);

    Then try the application.

Hope by this, you should be able to get the error details. Let us know the information so that we can help you further.

Get 500 Internal Server Error in Codeigniter insert data

Finally I found the mistake. Its the naming of the method in model. I changed InserData to Insert_data and it works now

Getting Internal Server Error (500) - CodeIgniter

Hope this will help you :

Your submitHandler code should be like this :

submitHandler: function (form) 
{
var formData = $(form).serialize();
$(".loader").show();
console.log(formData);
$.ajax({
type: "POST",
url: "<?=site_url('Welcome/create_wish'); ?>",
data: formData,
dataType: "json",
success: function (data) {
alert(data);
}
});
}

And your controller create_wish should be like this :

public function create_wish() 
{
$this->load->model("model_wishes");
$user_name = $this->input->post('uname'));
$user_email = $this->input->post('uemail');
$user_wish = $this->input->post('umessage');

$data = array(
'user_name' => $user_name,
'user_email' => $user_email,
'user_wish' => $user_wish
);
$this->model_wishes->createWish($data);
$response = array('status' => 'success');
echo json_encode($response);
}

codeigniter localhost internal server error 500

This .htaccess script works perfectly for me. Place it within the first set of folders inside your project directory. Same level as the index.php file

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

The error 500 can be checked on the apache error.log file using the following path /var/log/apache2/error.log

Check the last error listed and fix it.

500 internal server error in ajax in codeigniter

Make sure <form> tag not defined with action= "" (shoud be empty)

In AJAX

$(function(){
$( "#submit_enquiry" ).click(function(event)
{
event.preventDefault();

var date= $("#date").val();
var candidate_id= $("#candidate_id").val();
var user_id= $("#user_id").val();
var req_id= $("#req_id").val();
var status_type_id= $("#status_type_id").val();
var interview_type_id= $("#interview_type_id").val();

$.ajax(
{
type: "post",
url: "<?php echo base_url(); ?>index.php/candidate/candidate_process",
data:{
'date':date,
'candidate_id':candidate_id,
'user_id':user_id,
'req_id':req_id,
'status_type_id':status_type_id,
'interview_type_id':interview_type_id
},
//dataType: 'JSON',
success:function(data)
{
console.log(data);
}
});
});
});

Hence base_url() should be http://stackoverflow.com/ end / is required ...

In Controller

public function candidate_process()
{
# to check all inputs are comming.
print_r($_POST);
}

if above code shows all the data then, use the rest of codes



Related Topics



Leave a reply



Submit