web-dev-qa-db-fra.com

Erreur de serveur interne CodeIgniter 500

J'ai téléchargé un script PHP écrit à l'aide de CodeIgniter. quand je le lance à partir de l'hôte local, en allant dans le dossier admin, il affiche à nouveau localhost. De plus, lors de l'exécution à partir de mon hôte Web, il indique une erreur de 500 serveur interne.

Je lance le site à partir de http: // localhost/myproj Cela fonctionne. Ensuite, lorsque j'essaie d'accéder à la page d'administration située à l'adresse http: // localhost/myproj/administrator , une erreur de serveur interne de 500 est générée.

J'ai lu ici que cela pourrait être dû à un code erroné dans le fichier .htaccess. Ceci est mon fichier .htaccess

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

# Without mod_rewrite, route 404's to the front controller
ErrorDocument 404 /index.php

Aidez-moi, s'il vous plaît. Je sais que cela pourrait être un très petit problème, mais je ne parviens pas à trouver l'erreur.

8
acidburn23

Le problème avec 500 erreurs (avec CodeIgniter), avec différents paramètres Apache, il affiche une erreur 500 quand il y a une erreur avec PHP configuration.

Voici comment cela peut déclencher une erreur 500 avec CodeIgniter:

  1. Erreur dans le script (mauvaise configuration de PHP, paquets manquants, etc ...)
  2. PHP "Erreurs fatales"

Veuillez vérifier vos journaux d’erreur Apache, il devrait contenir des informations intéressantes.

18
tpae

Juste au cas où quelqu'un tomberait sur ce problème, j'ai hérité d'un projet CodeIgniter plus ancien et j'avais beaucoup de difficulté à l'installer.

J'ai perdu une tonne de temps à essayer de créer une installation locale du site et j'ai tout essayé. Au final, la solution était simple.

Le problème est que les anciennes versions de CodeIgniter (comme les versions 1.7 et inférieures) ne fonctionnent pas avec PHP 5.3. La solution consiste à passer à PHP 5.2 ou à une version plus ancienne.

4
Luqmaan

Vous essayez de supprimer index.php de l'URL de votre site, n'est-ce pas?

Essayez de régler votre $config['uri_protocol'] sur REQUEST_URI au lieu de AUTO.

2
chrishall78

supprimer le commentaire dans httpd.conf (fichier de configuration Apache):

LoadModule rewrite_module modules/mod_rewrite.so 
1
Mustapha

Essayez ceci sur votre fichier .htaccess:

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

Je sais que je suis en retard, mais cela aidera quelqu'un. 

Vérifiez si le moteur de réécriture est activé .

Sinon, activez le moteur de réécriture et redémarrez le serveur.

Sudo a2enmod rewrite
Sudo service Apache2 restart
0
Paritosh

Chaque fois que j'exécute CodeIgniter dans un sous-répertoire, je lui attribue la valeur RewriteBase. Essayez de le définir comme /myproj/ au lieu de /.

0
Aaron W.

Cela n’est probablement plus pertinent pour ce fil, mais il devrait être utile à quelqu'un. J'ai eu 500 erreurs au cours de la dernière heure car un contrôleur a renvoyé un tableau non pris en charge par la version php (merdique) serveur. Cela semble banal, mais avait les caractéristiques d'une erreur codeigniter.

Je devais utiliser:

class emck_model extends CI_Model {

    public function getTiles(){

        return array(...);

    }

} 

Au lieu de 

class emck_model extends CI_Model {

    public function getTiles(){

        return [...];

    }

}

À votre santé

0
Chris GW Green

si wampserver version 2.5 change alors la configuration d’Apache comme 

httpd.conf (fichier de configuration Apache):

#LoadModule rewrite_module modules/mod_rewrite.so** 

Pour supprimer le # 

LoadModule rewrite_module modules/mod_rewrite.so** 

cela fonctionne bien pour moi

0
Alvin Jose