it-swarm.dev

CodeIgniter 500 - Interner Serverfehler

Ich habe ein PHP-Skript heruntergeladen, das mit CodeIgniter geschrieben wurde. Wenn ich es vom localhost aus ausführen lasse, wenn ich in den Admin-Ordner gehe, wird wieder localhost angezeigt. Wenn er von meinem Webhost aus ausgeführt wird, wird ein 500-Server-Serverfehler angezeigt.

Ich betreibe die Site von http: // localhost/myproj . Es funktioniert. Wenn ich dann versuche, auf die Admin-Seite zu gelangen, die sich unter http: // localhost/myproj/administrator befindet, wird ein 500-Server-Serverfehler ausgegeben.

Ich habe hier gelesen, dass dies möglicherweise an einem falschen Code in der .htaccess-Datei liegt. Dies ist meine gegenwärtige .htaccess-Datei

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

Bitte hilf mir. Ich weiß, dass es ein sehr kleines Problem sein kann, aber ich kann den Fehler nicht finden.

8
acidburn23

Das Problem mit 500 Fehlern (mit CodeIgniter), mit anderen Apache-Einstellungen, zeigt 500 Fehler an, wenn ein Fehler mit der Konfiguration von PHP auftritt.

So kann es 500 Fehler mit CodeIgniter auslösen:

  1. Fehler im Skript (PHP-Fehlkonfigurationen, fehlende Pakete usw.)
  2. PHP "Schwerwiegende Fehler"

Bitte überprüfen Sie Ihre Apache-Fehlerprotokolle. Dort sollten einige interessante Informationen enthalten sein.

18
tpae

Nur für den Fall, dass jemand anderes über dieses Problem stolpert, habe ich ein älteres CodeIgniter-Projekt geerbt und hatte Schwierigkeiten, es zu installieren.

Ich habe eine Menge Zeit damit verschwendet, eine lokale Installation der Site zu erstellen, und habe alles versucht. Am Ende war die Lösung einfach.

Das Problem ist, dass ältere CodeIgniter-Versionen (wie 1.7 und darunter) nicht mit PHP 5.3 funktionieren. Die Lösung ist, zu PHP 5.2 oder etwas älterem zu wechseln.

4
Luqmaan

Sie versuchen, index.php von den URLs Ihrer Website zu entfernen, richtig?

Setzen Sie Ihren $config['uri_protocol'] auf REQUEST_URI anstelle von AUTO.

2
chrishall78

kommentar in httpd.conf (Apache-Konfigurationsdatei) entfernen:

LoadModule rewrite_module modules/mod_rewrite.so 
1
Mustapha

Versuchen Sie dies mit Ihrer .htaccess-Datei:

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

Ich weiß, dass ich zu spät komme, aber das wird jemandem helfen. 

Überprüfen Sie, ob das Überschreibungsmodul aktiviert ist .

Wenn nicht, aktivieren Sie die Umschreibungs-Engine und starten Sie den Server neu.

Sudo a2enmod rewrite
Sudo service Apache2 restart
0
Paritosh

Immer wenn ich CodeIgniter in einem Unterverzeichnis ausführte, setze ich die Variable RewriteBase darauf. Setzen Sie es als /myproj/ anstelle von /.

0
Aaron W.

Dies ist wahrscheinlich nicht mehr relevant für diesen Thread, aber hoffentlich hilfreich für jemanden. Ich hatte 500 Fehler in der letzten Stunde, da ich einen Controller hatte, der ein Array zurückschickte, das nicht von der PHP-Version unterstützt wurde (beschissener) Server. Scheint trivial, hatte aber die Kennzeichen eines Codeigniter-Fehlers.

Ich musste verwenden:

class emck_model extends CI_Model {

    public function getTiles(){

        return array(...);

    }

} 

Anstatt 

class emck_model extends CI_Model {

    public function getTiles(){

        return [...];

    }

}

Prost

0
Chris GW Green

Das funktioniert gut für mich

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

Stellen Sie sicher, dass Ihre Stammdatei index.php Die richtige Berechtigung hat. Die Berechtigung muss 0755 Oder 0644 Sein.

0
Samir Rahimy

wenn der Wampserver Version 2.5, dann ändern Sie die Apache-Konfiguration als 

httpd.conf (Apache-Konfigurationsdatei): Von

#LoadModule rewrite_module modules/mod_rewrite.so** 

Löschen Sie die # 

LoadModule rewrite_module modules/mod_rewrite.so** 

das funktioniert gut für mich

0
Alvin Jose