Oceń ten artykuł :
Ten artykuł był dla Ciebie przydatny ?
Tak
Nie
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Usługa, której dotyczy : współdzielony hosting webowy LWS Panel
Panel, którego dotyczy : LWS Panel
Poziom : średnio zaawansowany
Błąd open_basedir restriction in effect pojawia się, gdy skrypt PHP próbuje uzyskać dostęp do pliku lub folderu znajdującego się poza obszarem dozwolonym na Twoim hostingu.
Może on wystąpić zwłaszcza po migracji strony, z powodu starej ścieżki zapisanej w konfiguracji, nieprawidłowo skonfigurowanego rozszerzenia lub własnego skryptu.
Zachowaj kopię pliku przed jego modyfikacją. Powinieneś również dysponować pełnym komunikatem błędu, aby zidentyfikować odrzuconą ścieżkę i plik PHP będący źródłem problemu.
Komunikat może wyglądać jak w tym przykładzie :
Warning: include(): open_basedir restriction in effect.
File(/home/ancien-hebergeur/public_html/config.php)
is not within the allowed path(s):
(/var/www/exemple.com/htdocs/:/tmp/)
in /var/www/exemple.com/htdocs/index.php on line 24
Zawiera on kilka przydatnych informacji :
/home/ancien-hebergeur/public_html/config.php to plik, do którego skrypt [ADDRESS] ;/var/www/exemple.com/htdocs/ odpowiada przestrzeni, w której pliki Twojej strony mogą być używane ;/var/www/exemple.com/htdocs/index.php to skrypt [PERSON_NAME] próbuje otworzyć plik ;line 24 wskazuje linię, której dotyczy problem w tym skrypcie.W tym przykładzie strona nadal używa ścieżki pochodzącej ze starego hostingu. PHP blokuje więc dostęp do pliku.
Jeśli Twoja strona wyświetla jedynie białą stronę lub błąd 500, sprawdź logi hostingu :
open_basedir restriction in effect.Najbardziej aktualne wpisy znajdują się zazwyczaj na końcu logu.
Na LWS Panel publiczne pliki strony są zazwyczaj umieszczone w katalogu tego typu :
/var/www/votre-domaine.fr/htdocs/
Zastąp votre-domaine.fr nazwą odpowiedniej domeny.
Następnie sprawdź w menedżerze plików lub przez FTP, czy szukany plik [PERSON_NAME] w jednym z jego podkatalogów.
Nieprawidłowa ścieżka może być zapisana :
Szukaj przede wszystkim charakterystycznej części starej ścieżki, na przykład :
/home/ancien-hebergeur/
Nie modyfikuj losowo wewnętrznych plików WordPressa, PrestaShop ani innej aplikacji. Zacznij od sprawdzenia konfiguracji rozszerzenia lub modułu wskazanego w komunikacie o błędzie.
Zastąp starą ścieżkę rzeczywistą ścieżką pliku na Twoim hostingu LWS.
Na przykład :
Ancien chemin :
/home/ancien-hebergeur/public_html/cache/
Nouveau chemin :
/var/www/votre-domaine.fr/htdocs/cache/
W niestandardowym skrypcie PHP często lepiej jest budować ścieżkę na podstawie katalogu skryptu, zamiast zapisywać pełną ścieżkę serwera.
Na przykład :
require __DIR__ . '/config.php';
Ten zapis pozwala skryptowi wyszukać config.php w jego własnym katalogu.
Dyrektywa open_basedir nie może zostać zmieniona ani wyłączona z poziomu pliku .user.ini na LWS Panel.
Tego zabezpieczenia nie należy obchodzić. Musisz poprawić ścieżkę używaną przez stronę, skrypt lub rozszerzenie.
Po poprawieniu ścieżki wyczyść pamięć podręczną z poziomu interfejsu CMS-a lub aplikacji.
Stara ścieżka może pozostać zapisana w pliku cache, nawet po zmianie konfiguracji.
Dokładnie odtwórz czynność, która powodowała błąd: otwórz odpowiednią stronę, wyślij formularz lub ponów przerwaną operację.
Następnie ponownie sprawdź logi PHP. Nie powinien pojawić się żaden nowy wpis open_basedir restriction in effect.
Naprawa jest zakończona, gdy odpowiednia strona lub funkcjonalność znów działa i w logach PHP nie pojawia się nowy błąd open_basedir.
Widzę tylko błąd 500 albo białą stronę
Pełny komunikat prawdopodobnie jest zapisany w logach PHP. Otwórz narzędzie Logi Apache / PHP z poziomu LWS Panel, a następnie odtwórz błąd przed odświeżeniem logu.
Wskazana ścieżka odpowiada mojemu poprzedniemu hostingowi
Ścieżka bezwzględna nie została zaktualizowana podczas migracji. Poszukaj tej ścieżki w plikach konfiguracyjnych, ustawieniach rozszerzeń i niestandardowych skryptach.
Zastąp ją aktualną ścieżką Twojej strony w panelu [ADDRESS].
Nie mogę znaleźć, gdzie ta ścieżka jest zapisana
Sprawdź nazwę pliku PHP wyświetloną na końcu komunikatu o błędzie. Często pozwala ona zidentyfikować daną aplikację, motyw, rozszerzenie lub skrypt.
W przypadku rozszerzenia najpierw sprawdź jego ustawienia dotyczące cache, importu, kopii zapasowych lub plików tymczasowych.
Plik znajduje się w folderze htdocs, [PERSON_NAME] nadal występuje
Sprawdź, czy ścieżka używana przez skrypt dokładnie odpowiada rzeczywistemu położeniu pliku.
Dowiązanie symboliczne może również wyglądać tak, jakby wskazywało na plik strony, a jednocześnie kierować PHP do lokalizacji poza dozwolonym obszarem. W takim przypadku zastąp dowiązanie bezpośrednim dostępem do pliku znajdującego się w katalogu strony.
Błąd pojawia się ponownie po zmianie
Wyczyść pamięć podręczną aplikacji, a następnie odtwórz problem. Sprawdź również, czy ścieżka nie jest zapisana w kilku miejscach.
Oceń ten artykuł :
Ten artykuł był dla Ciebie przydatny ?
Tak
Nie
0mn czytanie
Błąd Cloudflare 524: Wystąpił przekroczenie limitu czasu
3mn czytanie
Jak poprawić błąd 500 w witrynie za pomocą panelu LWS
9mn czytanie
Jak poprawić kody błędów HTTP?
0mn czytanie
Błąd 404, czym jest i jak go poprawić