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.
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:
Veuillez vérifier vos journaux d’erreur Apache, il devrait contenir des informations intéressantes.
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.
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
.
supprimer le commentaire dans httpd.conf (fichier de configuration Apache):
LoadModule rewrite_module modules/mod_rewrite.so
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 >
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
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 /
.
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é
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