Symfony2: The requested URL /app_dev.php/security/login_check wurde nicht auf diesem server

Ich habe ein Problem immer wenn ich versuche zu einloggen, aber dieses Problem tritt nur mit dem einen Ubuntu-Server, wo die Website hochgeladen werden, und mit xampp auf windows funktioniert Prima.

Ich hatte keine Ahnung, was falsch mit es. Ich sehe nichts auf die log-Datei.

Hier ist die Sicherheit.yml-Datei:

security:
    encoders:
        Op\AppSecurityBundle\Entity\User: sha512
        Symfony\Component\Security\Core\User\User: plaintext

providers:
    default:
        entity: { class: AppSecurityBundle:User, property: email }

role_hierarchy:
    ROLE_OPTIME_ADMIN:  ROLE_OPT_USER
    ROLE_SUPER_ADMIN:   [ROLE_OPT_USER, ROLE_OPT_ADMIN, ROLE_ALLOWED_TO_SWITCH]

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    prizes:
        pattern:    ^/admin|^/security|^/landing|^/reports|^/catalog
        form_login:
            check_path: /security/login_check
            login_path: /
            provider: default
            success_handler: whos_online
            failure_handler: whos_online
        logout:
            path:   /security/logout
            target: /
            success_handler: whos_online

access_control:
    - { path: ^/admin, roles: [ROLE_OPT_ADMIN] }
    - { path: ^/security, roles: [ROLE_OPT_ADMIN, ROLE_OPT_USER] }
    - { path: ^/landing, roles: [ROLE_OPT_ADMIN, ROLE_OPT_USER] }
    - { path: ^/reports, roles: [ROLE_OPT_ADMIN, ROLE_OPT_USER] }
    - { path: ^/catalog, roles: [ROLE_OPT_ADMIN] }

routing_dev.yml

_assetic:
    resource: .
    type:     assetic

_wdt:
    resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
    prefix:   /_wdt

_profiler:
    resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
    prefix:   /_profiler

_main:
    resource: routing.yml

routing.yml

ws:
    resource: "@BeSimpleSoapBundle/Resources/config/routing/webservicecontroller.xml"
    prefix:   /ws

security:
    resource: @AppSecurityBundle/Resources/config/routing.yml

parameter:
    resource: @ParameterBundle/Resources/config/routing.yml

status:
    resource: @AppStatusBundle/Resources/config/routing.yml

csc:
    resource: @CSCBundle/Resources/config/routing.yml

catalog:
    resource: @CatalogBundle/Resources/config/routing.yml

prizes:
    resource: @PrizesBundle/Resources/config/routing.yml

reports:
    resource: @ReportsBundle/Resources/config/routing.yml

AppSecurityBundle/Resources/config/routing.yml

_security:
    resource: "@AppSecurityBundle/Controller/AppSecurityController.php"
    type:     annotation

Anmerkungen in AppSecurityController.php

            /**
     * @Route("/", name="_login")
     * @Template()
     */
    public function loginAction( )
    {
         //hidden
        }

/**
     * @Route("/security/login_check", name="_security_check")
     */
    public function securityCheckAction( )
    {
        //The security layer will intercept this request
    }

    /**
     * @Route("/security/logout", name="_logout")
     */
    public function logoutAction( )
    {
        //The security layer will intercept this request
    }

    /**
     * @Route("/landing", name="_landing")
     * @Template()
     */
    public function landingAction( )
    {
        return array ( );
    }

Ich entschuldige mich, wenn dies eine dumme Frage. Ich habe keine Ahnung, warum es funktioniert lokal aber nicht auf dem server.

Ich bin mit Symfony 2.0.12, und Ubuntu Server 11.10

Hinzugefügt:
Wenn ich mit php app/console router:debug bekomme ich

[router] Current routes
Name                     Method Pattern
_wdt                     ANY    /_wdt/{token}
_profiler_search         ANY    /_profiler/search
_profiler_purge          ANY    /_profiler/purge
_profiler_import         ANY    /_profiler/import
_profiler_export         ANY    /_profiler/export/{token}.txt
_profiler_search_results ANY    /_profiler/{token}/search/results
_profiler                ANY    /_profiler/{token}
_webservice_call         POST   /ws/{webservice}
_webservice_definition   GET    /ws/{webservice}
_login                   ANY    /
_security_check          ANY    /security/login_check
_logout                  ANY    /security/logout
_landing                 ANY    /landing
_concurrency             ANY    /security/concurrency
_overwriteConcurrency    ANY    /security/overwriteConcurrency
_loading                 ANY    /security/loading
_changeLanguage          ANY    /changeLanguage
_security                ANY    /security/{strategy}/{globalStrategy}
_parameter               ANY    /admin/{strategy}/{globalStrategy}
_status                  ANY    /admin/{strategy}/{globalStrategy}
_csc                     ANY    /admin/{strategy}/{globalStrategy}
_catalogs                ANY    /catalog/{strategy}/{globalStrategy}
_prizes                  ANY    /admin/{strategy}/{globalStrategy}
_reports                 ANY    /{globalStrategy}/{strategy}
  • Sie machte sicher, dass Ihr server kompatibel ist mit Symfony2 Anforderungen? In Ihrem YML-Datei, versuchen Sie es mit route-Namen anstelle von "path" (wenn es nicht funktioniert mit Symfony2.0). Beim ausführen php app/console router:debug auf den server kann, finden Sie die route in der Liste? Alle anderen URL-Arbeit auf deinem server?
  • Bearbeitet die post mit dem Ergebnis der php app/console router:debug
  • Was meinst du mit route-Namen anstelle von "path"?
  • versuchen ^/(admin|security|landing|reports|catalog) als Muster
  • Hi Pazi, es hat nicht funktioniert 🙁
  • Hat Ihr server erfüllen alle Anforderungen (D. H. laufen php app/check.php)? In Ihrem security.yml Datei, anstatt /security/login_check versuchen Sie, den Namen der route ein _security_check.. ich hatte gelesen, der doc wieder zu sehen, wenn es irgendwelche Warnungen über dieses Problem.
  • Alles sagt OK, mit Ausnahme von "short_open_tag" aber ich bereits geändert, es in der richtigen PHP.ini und sagt immer noch dass. Ich änderte, was Sie sagte, Es wirft ->> InvalidConfigurationException: Ungültige Konfiguration für den Pfad "Sicherheit.firewalls.Preise": Die check_path "_security_check" für die login-Methode "form_login" wird nicht ergänzt durch die firewall-pattern "^/admin|^/security|^/Landung|^/Berichte|^/Katalog".
  • Die short_open_tag sagt [[WARNUNG]] Überprüfen, php.ini hat short_open_tag auf off gesetzt ist: SCHEI *** Eingestellt short_open_tag auf off in php.ini ***

InformationsquelleAutor Splendonia | 2013-07-15
Schreibe einen Kommentar