Adrian Nidziński

Adrian Nidziński Student,
Politechnika Łódzka

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Witam.
Ostatnio przeczytalem artykul nt. zamiany adresu url front-controllera z backend.php na /admin - http://blog.kowalczyk.cc/2011/05/24/symfony-zamiana-ad.... Postanowilem takie rozwiazanie zastosowac w swoim projekcie. Niestety, po dokonaniu odpowiednich poprawek dostaje zwrotke 500. Nie wiem, gdzie szukac przyczyny bledu.

Projekt znajduje sie na hostingu home.pl. Na poczatku myslalem, ze jest jakis problem z konfiguracja serwera, ale po odpaleniu projektu na localhoscie jest ten sam objaw.

Ponizej przedstawiam zawartosc pliku konfiguracyjnego settings.yml (app/backend/config/settings.yml) - moze tu tkwi blad:


prod:
.settings:
no_script_name: false
logging_enabled: false

dev:
.settings:
error_reporting: <?php echo (E_ALL | E_STRICT)."\n" ?>
web_debug: true
cache: false
no_script_name: false
etag: false

test:
.settings:
error_reporting: <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>
cache: false
web_debug: false
no_script_name: false
etag: false

all:
.settings:
# Form security secret (CSRF protection)
csrf_secret: b219766c3a51f7b7076762959b485f57f6586fbe

# Output escaping settings
escaping_strategy: true
escaping_method: ESC_SPECIALCHARS
#escaping_method: ESC_RAW

# Enable the database manager
use_database: true

i18n: on
default_culture: pl_PL

enabled_modules: [sfGuardUser, sfGuardGroup, sfGuardPermission, sfGuardAuth, commentAdmin, commentReportAdmin]
standard_helpers: [Partial, Cache, I18N]

.actions:
# sfDoctrineGuardPlugin
login_module: sfGuardAuth
login_action: signin

secure_module: sfGuardAuth
secure_action: secure
# 404
error_404_module: main
error_404_action: error404


Bylbym wdzieczny za podpowiedzi, ktore przyczynia sie do wyeliminowania opisanej powyzej niedogodnosci.
Jakub Zalas

Jakub Zalas Software Engineer,
Symfony Core
Contributor

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Sprawdz w logach web serwera jaki konkretnie blad zostaje wygenerowany.
Krzysztof Bujok

Krzysztof Bujok PHP / Symfony2
Developer

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Albo chwilowo przekieruj wszystkie żądania na backend_dev.php zamiast backend.php w tym kawałku:
RewriteCond %{REQUEST_URI} ^/admin/?
RewriteRule ^(.*)$ backend.php [QSA,L]

I wtedy powinno Ci wyrzucić o co chodzi.
Adrian Nidziński

Adrian Nidziński Student,
Politechnika Łódzka

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Dziwna rzecz, gdyż dostaję monit, który informuje o problemie ze znalezieniem klasy RoutingFilter. Plik RoutingFilter.class.php znajduje się w katalogu apps/backend/lib, a mimo to nie jest zaczytywany.
Krzysztof Bujok

Krzysztof Bujok PHP / Symfony2
Developer

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Wiem, że to może oczywiste, ale wyczyściłeś cache?
Adrian Nidziński

Adrian Nidziński Student,
Politechnika Łódzka

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Tak, cache został wyczyszczony. Nic to nie dało. Klasa nie jest wywoływana przez kontroler :/
Krzysztof Bujok

Krzysztof Bujok PHP / Symfony2
Developer

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Kiedyś miałem podobny problem, gdy tworzyłem nowy plik pod Windowsem poprzez prawoklik -> nowy plik tekstowy.
Ale gdy tworzyłem plik w IDE, klasa była już wywoływana.
Jakub Zalas

Jakub Zalas Software Engineer,
Symfony Core
Contributor

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Sprawdz jakie sa uprawnienia do tego pliku (czy web server ma do niego dostep).

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Tak spojrzałem na ten tutorial i widzę, że tam mowa o factories.yml a nie settings ... więc proszę o factories - bład prawdopodobnie jest w factories.
Adrian Nidziński

Adrian Nidziński Student,
Politechnika Łódzka

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Uprawnienia są ok.

Co do zawartości pliku factories.yml:

prod:
logger:
class: sfNoLogger
param:
level: err
loggers: ~

test:
storage:
class: sfSessionTestStorage
param:
session_path: %SF_TEST_CACHE_DIR%/sessions

response:
class: sfWebResponse
param:
send_http_headers: false

mailer:
param:
delivery_strategy: none

dev:
mailer:
param:
delivery_strategy: none

all:
routing:
#class: sfPatternRouting
class: RoutingFilter
param:
prefix: /admin
generate_shortest_url: true
extra_parameters_as_query_string: true

view_cache_manager:
class: sfViewCacheManager
param:
cache_key_use_vary_headers: true
cache_key_use_host_name: true
Adrian Nidziński edytował(a) ten post dnia 13.08.12 o godzinie 14:59

Temat: [sf 1.4] Zamiana adresu URL front-controllera backend.php...

Wydaje mi się że ten nowy routing powinien być w sekcji prod a nie all - w każdym razie zadziałało u mnie jak wrzuciłem te wpisy w prodKrzysztof Wawoczny edytował(a) ten post dnia 18.08.12 o godzinie 10:30

Następna dyskusja:

[Warszawa] Programista PHP ...




Wyślij zaproszenie do