• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konfiguracja projektu symfony 4 pod serwer/serwera pod projekt

VPS Starter Arubacloud
0 głosów
691 wizyt
pytanie zadane 2 sierpnia 2018 w PHP przez Mebya Użytkownik (700 p.)

Witam,
Pisałem sobie swój projekcik na serwerze tym takim symfonowym który proponują w swoich poradnikach.
(czyli cała zabawa z serwerem polegała na pobraniu go i odpalenia w konsoli pliczku php - php bin/console server:run)
teraz przydała by mi się baza do tego projektu, problem polega na tym, że tyle co wiem o konfiguracji to tyle, że potrafię sobie odpalić xamppa albo tak jak wyżej.
Wstępną konfiguracje można powiedziec że zrobilem, postawiłem maszyne wirtualną (CentOS), zainstalowałem apache 2/php/MySQL no i po wpisaniu adresu wyskakuje mi strona testowa apache, tyle że chciałbym aby mój routing działał i po wpisaniu tego adresu odpalała się strona startowa a nie strona testowa apache 2
Ogólnie to problem polega po prostu na tym, że nie działa mi ten routing, czyli kiedy wpisuje jakąś trase to mi wywala 404 (kiedy wpisuje ścieżkę do pliku np index.html to działa)
Jak to zrobić?

1 odpowiedź

+1 głos
odpowiedź 2 sierpnia 2018 przez Arkadiusz Waluk Ekspert (287,550 p.)
Nie do końca zrozumiałem problem. Po wejściu na adres nie działa w ogóle, tzn. nie odpala się strona? Najprościej mówiąc to po wrzuceniu plików edytuj virtual hosta Apache, aby root directory serwera (katalog z którego serwer czyta pliki) wskazywał na /adres/do/projektu/public.

Chyba że problemem jest to, że strona główna właśnie się ładuje, a nie działają podstrony zdefiniowane w routingu Symfony - opisałeś jakby i to i to, przez co zbiło mnie to z tropu. To prawdopodobnie oznacza, że nie masz włączonego mod_rewrite - modułu odpowiedzialnego za przepisywanie adresów. Spróbuj wtedy wydać polecenie: a2enmod rewrite.

Nie zapomnij po każdej zmianie w konfiguracji Apache/włączeniu modułu przeładować serwer/konfigurację.
komentarz 2 sierpnia 2018 przez Mebya Użytkownik (700 p.)
edycja 2 sierpnia 2018 przez Mebya
W pliczku konfiguracyjnym miałem ścieżkę  DocumentRoot /var/www/projekt
zmieniłem na DocumentRoot /var/www/projekt/public
Nie ma błędu 404 ale teraz mi wywala HTTP error 500
(oto pliczek konfiguracyjny który jest kopiowany do /etc/httpd/conf.d/)

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /var/www/projekt/public
    ServerName projekt.vagrant.internal
    ErrorLog logs/projekt-error_log
    CustomLog logs/projekt-access_log common    
</VirtualHost>
<Directory /var/www/projekt>
AllowOverride all
</Directory>
Może tutaj cos zle ustawilem?

A i to polecenie a2enmod rewrite nie działa mi
komentarz 2 sierpnia 2018 przez Arkadiusz Waluk Ekspert (287,550 p.)
500 który wygląda jak błąd Symfony czy goły błąd serwera? Jak sam serwer to coś źle w konfiguracji, ale wtedy raczej by się nie uruchomił. Prawdopodobnie rzuca go Symfony. Skonfigurowałeś dobrze samą aplikacje, są uprawnienia na cache, zależności Composera zainstalowane?

Możesz też np. włączyć chwilowo wyświetlanie błędów PHP, docelowo na produkcji się tego nie robi (display_errors w php.ini albo bezpośrednio w kodzie gdzieś na początku indexu przez ini_set(). Wtedy zamiast rzucać 500 powinien Ci dokładniej powiedzieć o co chodzi.
komentarz 2 sierpnia 2018 przez Mebya Użytkownik (700 p.)
edycja 2 sierpnia 2018 przez Mebya

Zależności poinstalowane, uprawnienia https://scr.hu/PlnyAl
Co do konfiguracji aplikacji, co mam tam pokonfigurować?

opcji z ini_set() zaraz spróbuję i dam znać

Zależności poinstalowane, uprawnienia https://scr.hu/PlnyAl
Co do konfiguracji aplikacji, co mam tam pokonfigurować?

opcji z ini_set() zaraz spróbuję i dam znać

czy wersja php moze miec tu znaczenie? Na serwerze mam 7.0.30 a na komputerze 7.2.2

Fatal error: Uncaught TypeError: Return value of Symfony\Component\Dotenv\Dotenv::populate() must be an instance of Symfony\Component\Dotenv\void, none returned in /var/www/projekt/vendor/symfony/dotenv/Dotenv.php:95 Stack trace: #0 /var/www/projekt/vendor/symfony/dotenv/Dotenv.php(57): Symfony\Component\Dotenv\Dotenv->populate(Array) #1 /var/www/projekt/public/index.php(16): Symfony\Component\Dotenv\Dotenv->load('/var/www/projekt...') #2 {main} thrown in /var/www/projekt/vendor/symfony/dotenv/Dotenv.php on line 95


Pomogło skasowanie wymaganej zwracanej wartości void ale to chyba niezbyt eleganckie

komentarz 2 sierpnia 2018 przez suice Gaduła (3,960 p.)
nie edytuj tego co jest w vendorze

symfony4 potrzebuje >= php 7.1.3
komentarz 2 sierpnia 2018 przez Arkadiusz Waluk Ekspert (287,550 p.)
Dokładnie, chodzi o wersję. PHP szuka u Ciebie klasy "void" jako zwracanej, a void oznacza po prostu brak wartości zwracanej. Edycja vendora to najgorszy z możliwych pomysłów, albo robisz downgrade Symfony albo upgrade PHP.

Podobne pytania

0 głosów
1 odpowiedź 413 wizyt
0 głosów
1 odpowiedź 649 wizyt
pytanie zadane 22 marca 2018 w PHP przez tomek923 Początkujący (480 p.)
0 głosów
1 odpowiedź 342 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...