Skrypt ogłoszeniowy Notice3

Notice3 logo

Skrypt strony www z ogłoszeniami online tylko dla profesjonalistów.

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ą.

  • 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, PayPal, HotPay, TPay, Payu i Blue Media
  • 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
  • możliwość zapisu do 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 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

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 posiadać bardzo dobrą znajomość PHP i JavaScript.

Serwer musi wspierać PHP w wersji 7.4 – 8.2, bazę danych, wiersz poleceń z dostępem do Composera, możliwość ustawienia zadań crona poprzez komendy, zmiana katalogu domeny, MOD Rewrite. Symfony wymaga aby na serwerze było dostępne polecenie proc_open.

Aby sprawdzić czy na Twoim hostingu skrypt będzie mógł zostać zainstalowany możesz sprawdzić czy jest możliwe zainstalowanie Symfony zgodnie z instrukcją pod adresem https://symfony.com/doc/current/setup.html

Obsługiwane hostingi:

  • cyber_Folks,
  • LH.pl (SSH dostępne od pakietu KIWI),
  • 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)
  • nazwa.pl (sugerują min. VPS Start)

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”),
  • WEBD.pl (mają wyłączone proc_open),

Instalacja skryptu wygląda podobnie jak instalacja standardowego projektu stworzonego w Symfony 5. Rozbudowana dokumentacja frameworka znajduje się pod adresem https://symfony.com/

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 /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.
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 – czy ma być włączone demo panelu admina, domyślnie 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.4 (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 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.4.

Raz dziennie po północy:

php [sciezka do strony]/bin/console cron:daily

Co 10 min:

php [sciezka do strony]/bin/console cron:10min

Patrz także ogólną instrukcję https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/ odnośnie ustawienia integracji z płatnościami itd.

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]

Patrz https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#uruchomienie_recaptcha
Notice3 używa reCAPTCHA w wersji v3

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

Jeśli ustawisz inny język niż „pl” lub „en” pamiętaj o przetłumaczeniu adresów URL w kontrolerach (w plikach .php w katalogu /src/Controller)

Więcej informacji w dokumentacji https://symfony.com/doc/5.4/translation.html

Aby poprawnie skonfigurować płatności przez Przelewy24, PayPal, HotPay, TPay, PayU lub Blue Media patrz https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#platnosci

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

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

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.

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

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
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.
3.6.3
(03.10.2022)
Poprawa płatności Przelewy24. Poprawa wyświetlania paginacji i strony ogłoszenia na urządzeniach mobilnych.
3.6.4
(25.10.2022)
Aktualizacja Bootstrap, FontAwesome, Axios i Swiper. Poprawa wyświetlania zdjęć w ogłoszeniach.
3.6.5
(30.01.2023)
Poprawki w wyszukiwaniu ofert i użytkowników.
3.6.6
(05.02.2023)
Usunięcie systemu płatności DotPay. Przebudowa klas płatności.
3.7.0
(22.02.2023)
Wprowadzenie płatności TPay, Payu oraz Blue Media. Możliwość zaznaczania wielu filtrów w panelu admina.

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ć.