Sprawdź naszą ofertę Hostingu NVMe
Zbuduj stronę w kilka minut w specjalnym pakiecie
Skorzystaj z naszego pomocnika do wyboru odpowiedniego pakietu.
Bezpłatnie przeniesiemy Twoje strony i pocztę
Sprawdź nasze rozwiązania
Chcesz zarabiać? Sprawdź naszą ofertę programu partnerskiego
Zadbaj o bezpieczeństwo swoich stron.
Potrzebujesz więcej? Sprawdź nasze dodatki do hostingu.
Opisz problem. Sprawdzimy, czy możemy pomóc.
Komunikat „open_basedir restriction in effect” oznacza, że skrypt PHP próbuje sięgnąć do pliku lub katalogu poza dozwolonym zakresem. Często przyczyną jest nieaktualna ścieżka po migracji albo ustawienie aplikacji. Najpierw sprawdź wskazany zasób; wyłączenie izolacji nie powinno być pierwszą próbą naprawy.
Na ilustracjach nazwa konta i domeny są przykładami, a adresy IP zastąpiono znakami x. W swoim panelu użyj danych własnej usługi.
Ustawienie open_basedir ogranicza katalogi, do których PHP może uzyskać dostęp. Fragment File is not within the allowed path(s) wskazuje, że żądana ścieżka nie mieści się w dozwolonym zakresie. To inny problem niż zwykły brak praw do odczytu pliku.
open_basedir
File is not within the allowed path(s)
Pełny komunikat zwykle pokazuje próbę dostępu oraz listę dozwolonych ścieżek. Ograniczenie może dotyczyć np. katalogu cache, plików tymczasowych, kopii zapasowych albo zasobu w innej domenie. PHP rozwiązuje dowiązania symboliczne, więc sam link umieszczony w dozwolonym katalogu nie zapewnia dostępu do pliku poza nim.
Zapisz godzinę błędu i czynność, która go wywołuje. Otwórz logi błędów właściwej domeny w Domeny → Podsumowanie witryny i Logi. Odczytaj, jaki plik aplikacji zgłasza błąd i do jakiej ścieżki próbuje sięgnąć.
Nie włączaj publicznego wyświetlania wszystkich błędów na działającej stronie tylko po to, by pozyskać komunikat. Logi mogą ujawniać ścieżki i dane techniczne; przekazuj potrzebny fragment opiekunowi strony lub pomocy technicznej.
Po migracji poszukaj ustawień wskazujących stary katalog konta, domeny lub serwera. Sprawdź ścieżki cache, plików tymczasowych i katalogu kopii zapasowych w aplikacji oraz używanych dodatkach. Popraw konkretną nieaktualną ścieżkę zgodnie z dokumentacją aplikacji.
Jeśli plik powinien należeć do tej witryny, umieść go w odpowiednim dozwolonym katalogu, zachowując wymagania aplikacji i ochronę danych. Nie przenoś haseł ani kopii bazy do publicznego katalogu tylko dlatego, że PHP ma do niego dostęp. Sprawdź również ustawiony katalog domeny i rzeczywisty cel ewentualnego dowiązania.
W DirectAdmin przejdź do Aplikacje PHP i Python → Zmiana wersji PHP dla domeny i izolacja. Odszukaj dokładny adres domeny lub subdomeny. Kolumna Izolacja dotyczy danego wiersza; ustawienie domyślne dla nowych domen nie zmienia automatycznie wszystkich istniejących stron.
Zapisz dotychczasowy stan. Przełączenie izolacji zapisuje się automatycznie i może rozszerzyć dostęp skryptów do plików konta. Wykonaj taki test tylko wtedy, gdy wiesz, dlaczego aplikacja potrzebuje szerszego dostępu, i masz plan właściwej konfiguracji. W razie wątpliwości uzgodnij zmianę z pomocą Hostido.
Dostępność zmiany zależy od sposobu uruchamiania PHP i ograniczeń usługi. Wpis w lokalnym php.ini lub ustawienie z poziomu skryptu nie musi pozwolić na rozszerzenie zakresu narzuconego przez serwer. Nie kopiuj przypadkowych ścieżek z poradników i nie ustawiaj nieograniczonego dostępu bez ustalenia przyczyny.
php.ini
Jeżeli aplikacja wymaga dostępu poza katalogiem witryny, przekaż pomocy Hostido pełną ścieżkę i uzasadnienie. Rozwiązaniem może być poprawna konfiguracja aplikacji lub układu katalogów, bez wyłączania ochrony całej strony.
Po zmianie wykonaj tę samą operację, która wcześniej powodowała błąd, i sprawdź nowe wpisy w logu. Zweryfikuj też zwykłe działanie strony. Jeżeli tymczasowo wyłączałeś izolację, przywróć uzgodnione docelowe ustawienie po zakończeniu diagnozy.
tagi: diagnostyka DirectAdmin izolacja logi błędów php