jak dodać ścieżkę open_basedir do nginx vhost
W php.ini ustawiłem
open_basedir =/home/user/web/
Teraz chciałbym uruchomić phppgadmin na subdomenie, która powinna zawierać pliki z/usr/share/phppgadmin.
Więc dodałem następujący wiersz do nginx-config dla tego hosta:
fastcgi_param PHP_VALUE open_basedir="/home/user/web/:/usr/share/phppgadmin/";
i zrestartowałem nginx. Nie mogę jednak uzyskać dostępu do witryny z powodu następującego błędu:
[błąd] 31440 # 0: * 1 FastCGI wysłane na stderr: "Ostrzeżenie PHP: include_once (): obowiązuje ograniczenie open_basedir. Plik (/usr/share/phppgadmin/libraries/lib.inc.php) znajduje się poza dozwoloną ścieżką (s):
(/ home/user/network/)
w/usr/share/phppgadmin/info.php w linii 10
Jaki może być powód, dla którego nie ma tu drugiej ścieżki? Czego jeszcze potrzebuję, aby dodać open_basedir do wirtualnego hosta? Użyłem tylko domyślnego pliku w/sites-available.
edytować
Zawsze myśl o ponownym uruchomieniu fpm ...
service php5-fpm restart
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
domyślna
ponieważ wszystko, co istnieje, jest w każdym razie przeznaczone do przeczytania przez świat.
Plus,
łatwe do ominięcia, jeśli nie zostały zablokowane
,
,
i podobne funkcje PHP, więc nie uważaj ich za bezpieczne (wiem, że to jest do bani).
Jeśli zastanawiasz się, jak łatwo możesz to obejść, możesz po prostu
... W
nie czyta PHP.ini, więc nie
zaaplikuje.
Anonimowy użytkownik
Potwierdzenie od:
), może być konieczne zainstalowanie
tam:
Anonimowy użytkownik
Potwierdzenie od:
przez
może powodować
trochę problemów
https://forum.nginx.org/read.php?3,234856
gdy na serwerze jest kilka witryn.
Inną opcją jest użycie
.user.ini
https://www.php.net/manual/en/ ... r.php
.