Ankündigung

Einklappen
Keine Ankündigung bisher.

[erledigt] Interface not found

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [erledigt] Interface not found

    Hallo Leute,

    ich starte gerade mit meinem ersten Zend Framework 2 Projekt. In meinem XAMPP-Localserver funktioniert auch alles wunderbar. Nur bei meinem ManagedServer von Strato will das Ganze noch nicht so ganz. Ich habe alle Dateien nun auf den Webspace geladen und es kommt nun folgender Fehler:
    Fatal error: Interface 'User\Auth\DbBcryptAdapterInterface' not found in /.../module/User/src/User/Auth/DbBCryptAdapter.php on line 19

    mit Anfangscode:
    PHP-Code:
    <?php

    namespace User\Auth;

    use 
    User\Table\UserTableInterface;
    use 
    Zend\Crypt\Password\Bcrypt;
    use 
    Zend\Authentication\Result;

    /**
     * Description of DbCryptAdapter
     *
     * @package ...
     * @access public
     * @version 1.0
     * @since 1.0
     * @author ...
     * @copyright (c) 2014, ....
     */
    class DbBCryptAdapter implements DbBcryptAdapterInterface /* ... */ }
    PHP-Code:
    <?php

    namespace User\Auth;

    use 
    Zend\Authentication\Adapter\AdapterInterface;
    use 
    Zend\Crypt\Password\Bcrypt;
    use 
    User\Table\UserTableInterface;

    /**
     * ....
     */
    interface DbBcryptAdapterInterface extends AdapterInterface {
    Habe ich vielleicht vergessen eine bestimmte Erweiterung o.ä. zu aktivieren? Weil bei meinem XAMPP funktioniert ja alles :-/
    Im Error Log steht leider auch nichts anderes, wie oben.

    Hat jemand eventuell einen Rat für mich?

    Danke!

    Viele Grüße

    CapCa

    PS: Bitte beachten, die \ hat es wohl weggemacht in dem [PHP] Code


  • #2
    Hast du ein entsprechendes include bzw. einen Autoloader? Nur weil du den korrekten Namespace angibst heißt das nicht, dass die entsprechenden Dateien auch physikalisch gefunden werden.

    Kommentar


    • #3
      Zitat von Tropi Beitrag anzeigen
      Hast du ein entsprechendes include bzw. einen Autoloader? Nur weil du den korrekten Namespace angibst heißt das nicht, dass die entsprechenden Dateien auch physikalisch gefunden werden.
      Zend Framework hat einen Autoloader. Aber warum das Interface nicht gefunden wurd ist mir unbekannt. Ich tippe auf eine fehlende Einstellung beim Server, aber ich komme einfach nicht drauf. Sonst würde es beim lokalen Server ja nicht funktionieren :-/

      VG

      Kommentar


      • #4
        Ist das der einzigste Fehler oder kommen noch mehr? Läuft der Rest der Anwendung?

        Was steht denn genau bei Zeile 19?
        Code:
        Fatal error: Interface 'User\Auth\DbBcryptAdapterInterface' not found in /.../module/User/src/User/Auth/DbBCryptAdapter.php on line 19
        Hat der Webserver die Berechtigung die Datei zu lesen? Ist das ein Linuxserver?

        Kommentar


        • #5
          Die Anwendung läuft nicht, da das Programm wohl beim Laden der Dateien komplett abbricht (durch den Fehler).

          Normalerweise sollte der Linux Server auch die Datei lesen können (Berechtigung 755).

          In Zeile 19 ist nur der "class ... implements DbBcryptAdapterInterface" Teil.

          Wenn ich was testen kann/soll, um dem Problem auf die Spur zu kommen, wäre ich um solche Hinweise sehr sehr dankbar )

          Danke schonmal

          VG

          Christoph

          Kommentar


          • #6
            vergleich deine Servereinstellungen mal, vergleich die PHP-Versionen, schau die Berechtigungen aller Dateien und Ordner an etc.
            Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

            Kommentar


            • #7
              Also:
              PHP-Version:
              Lokal: 5.4.19
              Server:5.3.21

              Berechtigungen:
              Lokal: siehe Server
              Server: Dateien:644 Ordner: 755

              Betriebssystem:
              Lokal: Windows
              Server: Linux

              Alle wichtigen Erweiterungen sollten normalerweise aktiviert sein.

              Viele Grüße

              Christoph

              Kommentar


              • #8
                Vergleiche mal die Groß und Kleinschreibung deiner Klassen, Namespaces und Dateien. Windows speichert Dateinamen zwar Case-Sensitive, ist aber beim Zugriff Case-Insensitive. Linux ist immer Case-Sensitive. Dadurch können auch solche Fehler auftreten.

                Kommentar


                • #9
                  Zitat von chr-fritz Beitrag anzeigen
                  Vergleiche mal die Groß und Kleinschreibung deiner Klassen, Namespaces und Dateien. Windows speichert Dateinamen zwar Case-Sensitive, ist aber beim Zugriff Case-Insensitive. Linux ist immer Case-Sensitive. Dadurch können auch solche Fehler auftreten.
                  ich tippe ja auf:
                  Code:
                  /.../module/User/src/User/Auth/DbBCryptAdapter.php

                  Kommentar


                  • #10
                    Oh man, vielen vielen Dank, Leute!!!!

                    Das wars

                    Wer Groß- und Kleinschreibung nicht unterscheiden kann

                    VG

                    Christoph

                    Kommentar

                    Lädt...
                    X