Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][Symfony2] Problem z konfiguracją środowiska
Forum PHP.pl > Forum > PHP > Frameworki
Barton
Witam,

Bardzo chciałbym zacząć pisać coś w końcu w Symfony2. Borykam się jednak z wieloma problemami już na starcie. Zacznę od tego że pracuję na Windowsie 7 64-bit lub Windowsie 8 64-bit. Za każdym razem po zainstalowaniu czy to WAMPa, czy to XAMPPa mam problem ze skonfigurowaniem środowiska. Najczęściej z php_apc (czy jest to w ogóle konieczne? jak będzie pracowało Symfony2 bez php_apc?). Kiedy już jakimś cudem znajdę odpowiedni plik php_apc i poradzę sobie z php_intl, config.php pokazuje poprawną konfigurację - no więc do roboty!

odpalam szczęśliwy ../web/app_dev.php/demo/ - no działa!
odpalam ../web/app.php/demo/ - nie działa! pusta strona.

wyłączam mod_rewrite, nagle oba działają. Restartuje apache, nagle znów nie działa app.php. Już nawet cache:clear nie pomaga. Mam dość, serdecznie dość.

Powiedzcie mi proszę: jaki system zainstalować (oprócz linuxa), jaki pakiet (XAMPP, WAMP?), z jakimi wersjami PHP, Apache, z jaką wersją pliku APC, z jakim .NET w systemie. Oczekuję żeby za każdym razem bez problemu działały mi adresy ../web/app.php/ i ../web/app_dev.php/ a po włączeniu mod_rewrite, żebym mógł wchodzić na stronę przez adres ../web/. Po prostu chcę zacząć w końcu pisać, pomóżcie... sad.gif
r4xz
a to nie jest tak że demo działa tylko pod dev? sprawdz routing smile.gif

----edit----
dobrze pamiętam:
routing_dev.yml
Kod
_demo:
    resource: "@AcmeDemoBundle/Controller/DemoController.php"
    type:     annotation
    prefix:   /demo

za to routing.yml pusty domyślnie smile.gif
Barton
Racja, uzupełniłem routing.yml. Usunąłem cache. Zresetowałem apache. Adres ../web/app.php/demo/ pomimo 10 odświeżeń wciąż pokazuje pustą stronę... sad.gif

Usunąłem symfony, wrzuciłem od nowa, usunąłem demo, utworzyłem nowy bundle, routing w pliku routing.yml ustawiony a i tak za każdym razem po wejściu przez app.php - pusta strona.

EDIT: Problem naprawiony, zmieniłem w app.php linijkę:

  1. $kernel = new AppKernel('prod', false);


na

  1. $kernel = new AppKernel('prod', true);


I wszystko działa pięknie.
r4xz
faktycznie, coś komenda cache:clear nie działa (zamiast uprawnieniami www-data sypie rootem), daj chmod 777 na app/cache, potem usuń ręcznie prod i odpal wink.gif


---edit---
@up, twoje rozwiązanie jest kiepskie:
http://symfony.com/doc/current/cookbook/co...iguration-files
Cytat
Debug Mode

Important, but unrelated to the topic of environments is the false key on line 8 of the front controller above. This specifies whether or not the application should run in "debug mode". Regardless of the environment, a Symfony2 application can be run with debug mode set to true or false. This affects many things in the application, such as whether or not errors should be displayed or if cache files are dynamically rebuilt on each request. Though not a requirement, debug mode is generally set to true for the dev and test environments and false for the prod environment.


---edit2---
http://symfony.com/doc/current/book/instal...ation-and-setup kłamałem odnośnie app/cache - działa ładnie piękne, przepraszam za zamieszanie z mojej strony smile.gif
Barton
Problem w tym że pracuję na windowsie więc tak czy siak z chmodami nic nie mogę zrobić. Zastanawia mnie to dlaczego aplikacja w trybie debugowania działa a bez nie.

PROBLEM SOLVED:

Włączyłem raportowanie błędów i okazało się że brakowało klasy 'Symfony\Component\DependencyInjection\Exception\RuntimeException' - dlaczego? Nie mam pojęcia.
OG'Kush
Cytat(Barton @ 24.03.2013, 15:33:44 ) *
Problem w tym że pracuję na windowsie więc tak czy siak z chmodami nic nie mogę zrobić. Zastanawia mnie to dlaczego aplikacja w trybie debugowania działa a bez nie.



BZDURA
webmaniak
Witam,
temat zbieżny więc napiszę smile.gif
Otóż mam problem z php_apc. Problem jest taki że nie mogę znaleźć paczki dla php 5.5. Pytanie zatem, czy plik php_apc dla php 5.4 będzie ok dla 5.5? (oczywiście to do momentu jak się pojawi wersja dla nowego php)
destroyerr
To jest post nie związany z Symfony2 ani żadnym innym frameworkiem!
PHP 5.5 ma wbudowany opcache (Zend Optimizer+) więc APC w tej roli nie jest już potrzebny. Jeżeli chodzi o inne zastosowania APC to na githubie masz projekt APCu.
webmaniak
Cytat(destroyerr @ 28.08.2013, 08:43:48 ) *
To jest post nie związany z Symfony2 ani żadnym innym frameworkiem!
PHP 5.5 ma wbudowany opcache (Zend Optimizer+) więc APC w tej roli nie jest już potrzebny. Jeżeli chodzi o inne zastosowania APC to na githubie masz projekt APCu.

Napisałem dlatego że strona konfiguracyjna symfony 2.3.3 mi pokazuje taki komunikat. Skoro php 5.5 ma opcache, to czemu mi symfony pokazuje inną informację? Pod jaką nazwą będzie zend optimizer plus? pobrałem go też, dałem odpowiedni wpis, a informacja w pliku konfiguracyjnym symfony nie zniknęła ;/
W php.ini dla najnowszej wersji xamppa- 1.8.3 jest zakomentowane:
Kod
zend_extension = "C:\xampp\php\ext\php_eaccelerator_ts.dll"

Nawet po odkomentowaniu i zrestartowaniu strona konfiguracyjna symfony się nie zmienia, plik phpinfo również nie zawiera info o zmianie - w sumie nie ma się co dziwić - tego pliku nie ma. Zmieniłem zatem na:
Kod
zend_extension = "C:\xampp\php\ext\php_ZendOptimizerPlus.dll"

oczywiście restart i widać zmianę w pliku phpinfo, ale:
Kod
Opcode Caching     Disabled
Optimization     Enabled
Startup Failed     no value

co i jak zatem zmienić żeby to było poprawne?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.