Skrypt strony www z ogłoszeniami online tylko dla profesjonalistów.
- Opis skryptu
- Możliwości skryptu
- Demo i zakup skryptu
- Wymagania
- Instalacja skryptu
- Konfiguracja skryptu
- Historia zmian (changelog)
- Znane problemy i ich rozwiązania
Opis skryptu
Skrypt Notice3 to nowoczesny i uniwersalny skrypt dla strony internetowej z ogłoszeniami online. Może zostać wykorzystany dla dowolnej kategorii ogłoszeń a także jako strona z bazą nieruchomości, miejsc noclegowych, ofert pracy albo jako katalog firm. Doświadczenie zdobyte przy tworzeniu innych skryptów w tym Notice2, Holmes2, Festa2 oraz od klientów prowadzących własne serwisy zaowocowało stworzeniem skryptu który najbardziej odpowiada potrzebom użytkowników i jego właściciela.
Dzięki Notice3 możesz stworzyć portal lokalny, ogólnopolski lub międzynarodowy. Rozbudowany panel administracyjny ułatwi Ci zarządzanie stroną i dostosowanie go do indywidualnych wymagań. Notice3 został napisany zgodnie z wymaganiami dotyczącymi optymalizacji i pozycjonowania strony www, co pozwala w krótkim czasie zdobyć wysoką pozycję w wyszukiwarkach internetowych.
Skrypt jest oparty o Symfony 5, jest zgodny z MCV, po stronie front endu został wykorzystany VUE oraz Bootstrap 5.
Skrypt Notice3 służy do zastosowań profesjonalnych, jako duży serwis z ogłoszeniami online. Dzięki budowie zgodnej z MVC i opartej na frameworku Symfony jest łatwy w dalszej rozbudowie. Cechuje się także bardzo dużą wydajnością.
Notice3 umożliwia między innymi:
- rejestrację użytkowników, logowanie i reset hasła, przydzielanie ról moderatora oraz administratora, formularze zabezpieczone przez reCAPTCHA
- logowanie przez konto Facebook i Google
- dodawanie i wyszukiwanie ogłoszeń, dodawanie ich do schowka, odpłatne wystawianie i promowanie, integracja z Przelewy24, Dotpay, PayPal i HotPay
- prowadzenie bloga na stronie oraz dodawanie stron statycznych
- zarządzenie wielopoziomową listą kategorii oraz regionów
- dodanie filtrów dla danej kategorii (max do drugiego poziomu) np w Samochody Osobowe: rocznik, przebieg
- możliwość zmiany języka strony
- wysyłkę mailingu do zarejestrowanych użytkowników lub zapisanych do newsletteru
- moduł newsletteru
- wysyłkę wiadomości z formularzy kontaktowych
- podgląd statystyk serwisu w panelu admina wraz z wykresem
- generowanie sitemap (mapy strony)
- udostępnienie linku do kanału RSS FEED
- dodawanie komentarzy przez Facebooka
- wygenerowanie własnej aplikacji PWA dla portalu
- dodawanie awatara i opisu na stronę profilu przez użytkowników
- ustawienie opłat zależnie od długości trwania ogłoszenia
- podejrzenie w panelu admina logów logowań, wysłanych maili, resetu hasła oraz wyświetleń ogłoszeń
- posiada czarną listę adresów email i adresów IP z których nie można dodać ogłoszenia oraz czarną listę słów kluczowych które zostaną usunięte z tytułu i treści ogłoszenia
- podpowiedzi do wyszukiwarki
- możliwość ukrycia kontaktu w ogłoszeniu dla niezalogowanych
- klienci mogą zgłaszać naruszenia w ogłoszeniach
Demo i zakup skryptu
Demo skryptu można zobaczyć pod adresem https://notice3.itworksbetter.net
Dane do logowania do panelu admina: https://notice3.itworksbetter.net/admin
login: test
hasło: 1234
Demo wersji angielskiej strony https://notice3en.itworksbetter.net/
Skrypt jest dostępny do zakupu na https://sklep.itworksbetter.net/skrypty-stron-www/1-skrypt-ogloszeniowy-notice3.html
Przykładowe strony stworzone na tym skrypcie: petworld.pl, katalogofert.pl, lamusownia.pl, odsprzedaj.pl
Wymagania skryptu
Notice3 został napisany w Symfony 5. Z tego względu ma wyższe wymagania niż inne skrypty ale jest też znacznie wydajniejszy. Klient który chce samodzielnie wykonać zmiany w serwisie musi znać dobrze PHP i JavaScript.
Serwer musi wspierać PHP w wersji min 7.2, bazę danych MySQL, wiersz poleceń z dostępem do Composera, możliwość ustawienia zadań crona poprzez komendy, zmiana katalogu domeny oraz MOD Rewrite. Zapewne każdy serwer dedykowany i VPS to umożliwia, niestety nie każdy hosting ma dostęp np do wiersza poleceń.
Aby sprawdzić czy na Twoim hostingu skrypt będzie mógł zostać zainstalowany pobierz ten plik composer.json (usuń z niego sekcje „autoload”, „autoload-dev” oraz „repositories”) i wgraj do testowego katalogu na serwerze. Następnie uruchom w konsoli polecenie:
composer install
Jeśli nie wyświetlą się żadne błędy to znaczy że najprawdopodobniej skrypt będzie mógł zostać zainstalowany.
Obsługiwane hostingi:
- cyber_Folks,
- LH.pl (SSH dostępne od pakietu KIWI),
- WEBD.pl (SSH dostępne na życzenie od pakietu Extra),
- smarthost.pl,
- kylos.pl (rekomendują VPS ze względu na czas wykonywania skryptu composera),
- dhosting (rekomendują EWH),
- OVH (oferta PRO, ale pamięć gwarantowana jest dopiero od oferty Performance1),
- zenbox (Hosting Ebiznes 25k lub Hosting profesjonalny),
- AttHost (w ustawieniach strony proszę nie zaznaczać „Odizoluj stronę”),
- aftermarket (od pakietu Biznes, żeby zmienić katalog na który wskazuje strona trzeba napisać do BOK)
Ze względu na to, że każda firma oferuje różne wersje hostingu, proszę zawsze upewnić się wcześniej czy hosting obsłuży projekt oparty o Symfony 5.
Hostingi na których powinno działać, choć konsultanci tego nie gwarantują:
- home.pl (SSH tylko od Biznes w górę, mało pamięci 256 lub 512 MB, niestandardowe dodawanie poleceń crona, poprzez odpowiednio nazwany plik PHP),
- hostinger (w podstawowej wersji za mało pamięci, max 512 MB, w wersji biznes działa, zobacz na dole strony „Znane problemy” jak przekierować domenę na katalog public),
- az.pl (za mało pamięci do aktualizacji composera, sugerują VPS)
Nieobsługiwane hostingi:
- kei.pl (odpowiedź konsultanta: „Zwykły hosting nie spełni wymagań, jedynie VPS”),
- nazwa.pl (nie ma możliwości ustawiania zadań crona z poziomu poleceń, sugerują VPS Start)
Instalacja skryptu
Instalacja skryptu wygląda podobnie jak instalacja standardowego projektu stworzonego w Symfony 5. Rozbudowana dokumentacja frameworka znajduje się pod adresem https://symfony.com/ W razie problemów tam można szukać rozwiązań.
Po zakupie skryptu zostanie dostarczone archiwum z plikami. Należy je skopiować na serwer.
Domena powinna wskazywać na katalog /public/ w plikach skryptu. Jeśli np. wgrywasz pliki do katalogu /home/test/domains/domena.pl/public_html/ to ustaw żeby domena wskazywała na katalog / Domena powinna wskazywać na katalog /public/ w plikach skryptu. Jeśli np. wgrywasz pliki do katalogu /home/test/domains/domena.pl/public_html/public/
Plik .env to główny plik konfiguracyjny systemu, należy go skonfigurować przed rozpoczęciem używania strony:
APP_ENV – powinno mieć wartość „prod”
APP_SECRET – losowy ciąg znaków
MAILER_DSN – ścieżka wysyłki maili, domyślnie ma wartość „sendmail://localhost” czyli maile są wysyłane z localhost. Aby zmienić np na wysyłkę przez SMTP musimy ustawić:
MAILER_DSN=smtp://user:pass@smtp.example.com:port
Więcej informacji pod https://symfony.com/doc/current/mailer.html
Wypełniamy dane do połączenia do bazy danych (jeśli hasło zawiera znaki specjalne należy dać je w cudzysłowie):
DATABASE_HOST=127.0.0.1 DATABASE_PORT=3306 DATABASE_USER=root DATABASE_NAME=notice3 DATABASE_PASS='' DATABASE_SERVER_VERSION=5.7
Wersja serwera bazy danych jest polem wymaganym, domyślna to: '5.7′.
Jeśli na serwerze jest baza MariaDB to należy dodać prefiks „mariadb-” np „mariadb-10.3.23”.
Wersję można sprawdzić wywołując w bazie danych polecenie SELECT VERSION();
Więcej informacji pod https://symfony.com/doc/current/configuration.html
APP_DEMO – wersja demo strony, powinno być ustawione na 0
APP_URL – adres URL witryny (używany m.in. w linkach w mailach o końcu wyświetlania ogłoszenia, nie powinien zawierać znaku / na końcu)
APP_LANG – kod domyślnego języka (en lub pl)
Po skonfigurowaniu pliku .env należy uruchomić następujące polecenie w konsoli do instalacji pakietów pamiętaj żeby polecenie uruchamiać w PHP min 7.2 (musi być ta sama wersja w konsoli jaką ma ustawiona domena):
composer install
Jeśli na hostingu nie masz zainstalowanego composera możesz skorzystać z tej instrukcji:
curl -sS https://getcomposer.org/installer | php
Wtedy zamiast composer musisz wpisywać (pod „php” na niektórych hostingach trzeba podać pełną ścieżkę do php na serwerze):
php composer.phar install
Jeśli wyświetla problem z brakiem pamięci można wykorzystać poniższe polecenia:
php -d memory_limit=-1 composer.phar install
Jeśli wyświetliło że używasz starszej wersji PHP spróbuj zaktualizować pakiety poleceniem:
composer update
Jeśli pakiety się poprawnie zainstalowały przechodzimy do kolejnego kroku. Ale jeśli wystąpił błąd (np. z brakiem pamięci lub proces został uśmiercony, wyświetla „killed”) należy skontaktować się z administratorem serwera.
Następnie zapełniamy bazę danych poleceniem:
php bin/console doctrine:migrations:migrate
Następny krok do dodanie użytkownika z prawami administratora z poziomu konsoli poleceniem:
php bin/console app:create-user
Skrypt zapyta się o login, adres email oraz hasło. Adres email zostanie automatycznie ustawiony na adres email administratora.
Po tym możemy się zalogować do panelu admina pod adresem nazwadomeny.pl/admin
Następnie zalecane jest skonfigurowanie kluczy do reCAPTCHA zgodnie z instrukcją
Konfiguracja crona:
Należy ustawić następujące zadania crona z PHP w wersji min 7.2.
Raz dziennie po północy:
php [sciezka do strony]/bin/console cron:daily
Co 10 min (lub rzadziej), wysyłka mailingu:
php [sciezka do strony]/bin/console cron:10min
Konfiguracja skryptu
Patrz także ogólną instrukcję https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/ odnośnie ustawienia integracji z płatnościami itd.
Przekierowanie na https / www
W przypadku gdy strona korzysta z SSL należy w pliku public/.htaccess odkomentować (usunąć znak # z początku linii) te dwie linie:
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
A następnie w pliku .env ustawić APP_URL z https
Jeśli ustawiliśmy APP_URL z „www” na początku to w pliku public/.htaccess usunąć te linie:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]
I zamiast nich wstawić:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Konfiguracja reCAPTCHA
Patrz https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#uruchomienie_recaptcha
Notice3 używa reCAPTCHA w wersji v3
Zmiana języka strony
Skrypt może naraz być uruchomiony w jednym języku. Pliki z tłumaczeniami znajdują się w katalogu /translations a maile w /templates/mails
Kategorie, regiony, filtry należy ręcznie przetłumaczyć w panelu admina.
Domyślny język można zmienić w pliku .env pod zmienną LANG
Płatności
Aby poprawnie skonfigurować płatności przez Przelewy24, Dotpay, PayPal lub HotPay patrz https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#platnosci
Logowanie przez Facebook i Google
Aby na stronie była możliwość logowania przez Facebook lub Google należy stworzyć odpowiednie aplikacje na swoim koncie Facebook / Google.
Link do instrukcji dla logowania przez Facebook: https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#logowanie_fb
Jako adres URI do przekierowania proszę wpisać: https://nazwa.domeny/logowanie/fb
Link do instrukcji dla logowania przez Google: https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#logowanie_google
Jako adres URI do przekierowania proszę wpisać: https://nazwa.domeny/logowanie/google
Zdjęcia
Skrypt korzysta z biblioteki LiipImagineBundle do generowania miniatur zdjęć. Z tego też względu pierwsze wyświetlenie miniaturki może chwilę zająć (zależnie od szybkości serwera) dlatego, że skrypt musi wygenerować grafikę w odpowiednich wymiarach. Plik konfiguracyjny znajduje się w lokalizacji /config/packages/liip_imagine.yaml
Można w nim zmienić wymiary miniaturek zdjęć w ogłoszeniach oraz na liście wpisów blogowych. Można także dodać znak wodny do tych zdjęć zgodnie z https://symfony.com/doc/2.0/bundles/LiipImagineBundle/filters/general.html#filter-watermark
Aby na serwerze opróżnić cache zdjęć należy wykonać polecenie:
php bin/console liip:imagine:cache:remove
Wtedy biblioteka będzie generować nowe miniaturki.
Skrypt wymaga aktualnej wersji biblioteki GD Library wspierającej format WEBP.
Więcej informacji pod adresem https://symfony.com/doc/2.0/bundles/LiipImagineBundle/index.html
Aplikacja PWA
Skrypt jest wstępnie skonfigurowany pod aplikację PWA. Po instalacji skryptu można zmienić tytuł, kolor i inne dane aplikacji w pliku /manifest.json.
Należy także podmienić ikonki w folderze /uploads/icons w danych wymiarach. W pliku offline.html można edytować tekst wyświetlany przy braku połączenia z Internetem.
Modyfikacje strony
Choć do obsługi strony wystarczy sama dobra znajomość poruszania się w Internecie to aby dokonać indywidualnych zmian w plikach należy posiadać wiedzę z zakresu PHP (najlepiej znać framework Symfony). Poniżej zamieszczam listę niektórych z częściej używanych poleceń.
Usuwanie cachu produkcyjnego (po np zmianach w szablonie)
php bin/console cache:clear --no-warmup -e prod
Tworzenie nowego kontrollera
php bin/console make:controller BrandNewController
Tworzenie nowej encji i aktualizacja bazy danych
php bin/console make:entity php bin/console make:migration php bin/console doctrine:migrations:migrate
Aktualizacja skryptu
Autor skryptu na prośbę klienta może wysłać najnowszą wersję skryptu, jednak to sam klient musi go zaktualizować.
Uwaga! Przed aktualizacją skryptu wykonaj kopię zapasową plików i bazy danych. Aktualizacja nadpisze wszystkie indywidualnie wykonywane modyfikacje. Wykonujesz aktualizację na własną odpowiedzialność!
Aby zaktualizować skrypt najlepiej najpierw usunąć z serwera katalogi:
/bin/
/config/
/migrations/
/publis/assets/
/src/
/templates/
/translations/
Następnie z nowszej wersji skryptu wgrywamy na serwer wszystkie pliki i katalogi oprócz pliku .env
Sprawdzamy czy w pliku .env nowszej wersji są dodatkowe zmienne i jak tak do dodajemy je do naszego pliku konfiguracyjnego .env
Instalujemy od nowa biblioteki (w przypadku gdy np. dodano nowe pakiety) poleceniem:
composer install
Następnie wykonujemy aktualizację bazy danych (o ile została zaktualizowana) poleceniem:
php bin/console doctrine:migrations:migrate
I na koniec usuwamy cache:
php bin/console cache:clear --no-warmup -e prod
Historia zmian (changelog)
3.0.0 (23.08.2020) | Premiera skryptu |
3.0.1 (22.09.2020) | Aktualizacja pakietów, linki do podstron po angielsku, naprawienie drobnych błędów przy edycji ogłoszenia |
3.0.2 (24.09.2020) | Przetłumaczalne szablony maili, autofocus do pierwszych pól formularzy, naprawa problemu z przekierowaniem po zapisaniu podregionu lub podkategorii, naprawa ustawiania pozycji po edycji stron statycznych, możliwość ustawienia domyślnego regionu, adresu oraz telefonu w ustawieniach użytkownika |
3.0.3 (14.10.2020) | Wprowadzenie kanału RSS FEED, wyszukiwarki ogłoszeń w panelu administracyjnym oraz na liście użytkowników. Przy aktywacji konta przydzielenie wszystkich ogłoszeń z danego adresu email do użytkownika. Wprowadzenie adresów URL po polsku i angielsku. Aplikacja PWA. |
3.1.0 (23.10.2020) | Optymalizacja ładowania kategorii i regionów. Możliwość dodawania „podobnego ogłoszenia”. Alfabetyczne układanie kategorii, regionów oraz stron statycznych w panelu administracyjnym. 3 nowe pola na kody reklam. Automatyczne generowanie Sitemap (przez zadania crona). Możliwość komentowania ogłoszeń, profilów, wpisów blogowych przez Facebooka. Przejście z jQuery Lazy do Vue Lazy. Wyświetlanie liczby ogłoszeń w kategoriach. |
3.1.1 (19.11.2020) | Poprawki w generowaniu sitemap. Usunięcie zbędnych tokenów. Uporządkowanie helperów klas i wspólna klasy do captchy oraz do maili. Możliwość dodawania administratorów z poziomu konsoli. |
3.2.0 (03.12.2020) | Możliwość dodawania awatara do konta użytkownika oraz opisu na stronę profilu. Możliwość ustawienia opłat w zależności od długości trwania ogłoszenia. Integracja z płatnościami HotPay. |
3.3.0 (12.01.2021) | Natywne lazyload do obrazków. Udostępnianie ogłoszeń przez WhatsApp. Logi logowania użytkowników, wysłanych maili i resetu hasła w panelu admina. Kolejkowanie wysyłki maili. Wysyłka mailingu z panelu admina. Możliwość edycji i usuwania ogłoszeń dodanych przez niezalogowanych użytkowników. Poprawki wizualne. Zaznaczanie naraz wielu ogłoszeń i użytkowników w panelu admina. Breadcrumbs (nawigacja okruszkowa) na liście ogłoszeń. |
3.3.1 (11.02.2021) | Aktualizacja pakietów. Drobne poprawki funkcjonalności i stylów CSS na mobile. Micro dane dla ogłoszeń. |
3.3.2 (01.03.2021) | Wyświetlanie ceny zależnie od kategorii (max 2 poziom kategorii). |
3.3.3 (06.05.2021) | Możliwość sortowania ogłoszeń. Poprawa dostępności (dodanie atrybutów aria). Poprawa jakości kodu PHP i JS. Odseparowanie klas PHP z formularzami. Wprowadzenie BaseController. |
3.3.4 (19.05.2021) | Zmiany w sortowaniu ogłoszeń. Własny skrypt resetu hasła. Zmiana wyglądu listy ogłoszeń na mobile. Możliwość ustawiania tytułu SEO dla kategorii. Poprawki przy ładowaniu kategorii na liście ogłoszeń. |
3.3.5 (28.06.2021) | Drobne poprawki w sortowania i filtrowaniu ogłoszeń. Aktualizacja do Symfony 5.2 |
3.4.0 (05.07.2021) | Poprawki w ładowaniu kategorii i filtrów, w CSS oraz w microdata. Ikony do przeglądarek. Generowanie miniaturek w WEBP. Optymalizacja zapytań do bazy danych. Zmiana slajdera z OWL na Swiper. |
3.4.1 (07.07.2021) | Wspólne ustawienia waluty do płatności. Zmiana slajdera pełnoekranowego. Możliwość logowania przez konto Facebook i Google. |
3.4.2 (12.08.201) | Poprawki w wyświetlaniu filtrów, zapamiętywanie ich widoczności. Zmiana wyglądu maili. Zapisywanie liczby wyświetleń ogłoszenia. Style dla drukarek. Wykres statystyk w panelu administracyjnym. Zgłaszanie naruszeń w ogłoszeniach. Czarna lista adresów email, IP i słów kluczowych. |
3.5.0 (24.08.2021) | Aktualizacja do Symfony 5.3. Przejście z Bootstrap 4 do Bootstrap 5. |
3.5.1 (19.09.2021) | Poprawki nazw zmiennych. Drobne poprawki wizualne. |
3.5.2 (21.10.2021) | Komunikat o Cookie. Wartości filtrów w adresie URL po przecinku. Dodanie indeksów do bazy danych. Usuwanie logów płatności. |
3.5.3 (28.10.2021) | Aktualizacja klas uwierzytelniania do Symfony 5.3 |
3.5.4 (15.11.2021) | Zmiany w slajderze ogłoszenia. Link do edycji ogłoszeń dla moderatorów. Poprawione linki do udostępniania w mediach społecznościowych. Dodanie przycisku do przewijania na górę strony. Przejście na Vue 3. |
3.5.5 (10.12.2021) | Dodanie nowych indeksów w bazie danych. |
3.6.0 (03.01.2022) | Moduł newsletteru. Lista zapisanych do newsletteru w panelu administracyjnym. Podpowiedzi do wyszukiwarki. Możliwość ukrycia danych kontaktowych ogłoszenia dla niezalogowanych. |
3.6.1 (14.04.2022) | W nawigacji okruszkowej na liście ogłoszeń wszystkie poziomy regionów i kategorii. Avatar w pasku menu. |
3.6.2 (22.04.2022) | Aktualizacja pakietów. Optymalizacja kodu HTML. Canonical na liście ogłoszeń. Numer strony w title. Poprawa breadcrumb. Lepsze podpowiedzi do wyszukiwarki na stronie głównej. |
Znane problemy i ich rozwiązania
Aby włączyć wyświetlanie błędów na ekranie należy w pliku .env zmienić APP_ENV=prod
na
APP_ENV=dev
W wersji produkcyjnej należy wrócić do „prod”. Logi błędów można także podejrzeć w pliku /var/log/dev.log oraz /var/log/prod.log
Przy instalacji pakietów wyświetla „requires ext-zip * -> it is missing from your system. Install or enable PHP’s zip extension.”
Należy z konsoli zainstalować:
sudo apt-get install php7.4-zip
(gdzie 7.4 to wersja PHP)
Jeśli wyświetla bład z „ext-xml” należy uruchomić:
sudo apt-get install php-xml
Przy próbie wysłania maila (np. przy aktywacji ogłoszenia, rejestracji) wyświetla błąd.
Domyślnie w pliku .env jest ustawiona wysyłka maili z localhost:
MAILER_DSN=sendmail://localhost
Jeśli Twój serwer tego nie wspiera musisz ustawić wysyłkę przez np. SMTP:
MAILER_DSN=smtp://user:pass@smtp.example.com:port
Więcej informacji pod https://symfony.com/doc/current/mailer.html
Przy próbie migracji bazy danych wyświetla „An exception occured in driver: could not find driver with mysql”
Należy zainstalować sterownik mysql:
sudo apt install php-mysql
Symfony Make:Migration: The metadata storage is not up to date, please run the sync-metadata-storage command to fix this issue
W pliku konfiguracyjnym /config/packages/doctrine.yaml podana została nieprawidłowa wersja bazy danych. Jeśli na serwerze jest baza MariaDB to należy dodać prefiks „mariadb-” np „mariadb-10.3.23”. Więcej informacji pod adresem https://github.com/doctrine/DoctrineMigrationsBundle/issues/337#issuecomment-645390496
Przekierowanie domeny na katalog public (np. Hostinger)
Niektóre hostingi nie umożliwiają przekierowania domeny na dany katalog. Należy do nich np. Hostinger. Aby przekierować w tej sytuacji domenę na katalog public należy w katalogu public_html stworzyć plik .htaccess z takim kodem (podmieniając nazwę domeny na własną):
RewriteEngine on RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteCond %{REQUEST_URI} !public/ RewriteRule (.*) /public/$1 [L]
Problem z polskimi znakami w bazie danych
Problem pojawił się po imporcie gotowej bazy danych z jednego hostingu na hosting home.pl. Stare dane pobierane z bazy danych nie wyświetlały poprawnie polskich znaków. Rozwiązaniem okazało się dodanie do pliku config/packages/doctrine.yaml
doctrine:
dbal:
options:
1002: „SET NAMES 'UTF8′ COLLATE 'utf8_unicode_ci'”
Nie tworzą się zdjęcia, nie zostały załadowane style bibliotek np. edytora wizualnego
Skrypt musi mieć prawa dostępu do zapisu w folderze public. Zarówno composer przy instalacji pakietów jak i później Symfony przy uruchomionej stronie. Należy ustawić prawa dostępu 0777 dla folderu /public.
Strona nie działa, wyświetla błąd: require(): open_basedir restriction in effect.
Błąd może się pojawić na hostingach AttHost po zaznaczeniu „Odizoluj stronę” w ustawieniach strony www. Należy to odznaczyć.