Comment ajouter un moyen open_basedir dans nginx vhost

DANS php.ini J'ai installé

open_basedir = /home/user/web/

Maintenant je voudrais courir phppgadmin sur le sous-domaine, qui devrait inclure des fichiers de / usr / share / phppgadmin.

Donc, j'ai ajouté la ligne suivante dans nginx-config Pour cet hôte:

fastcgi_param PHP_VALUE open_basedir="/home/user/web/:/usr/share/phppgadmin/";

Et redémarrer nginx. Cependant, je ne peux pas accéder au site en raison de l'erreur suivante:

[erreur] 31440 # 0: * 1 FastCGI Publié par B. stderr: "Avertissement PHP: include_once (): limitation open_basedir Acte. Déposer (/usr/share/phppgadmin/libraries/lib.inc.php) est en dehors du chemin autorisé (s):

(/ le principal / utilisateur / réseau /)

dans /usr/share/phppgadmin/info.php en ligne 10

Quelle pourrait être la raison pour laquelle le 2e chemin ici n'est pas spécifié? Que dois-je ajouter d'autre open_basedir sur un hôte virtuel? J'ai utilisé uniquement le fichier par défaut dans / sites-available.

Éditer

Pensez toujours à redémarrer fpm ...

service php5-fpm restart
Invité:

Christine

Confirmation de:

Dans votre situation particulière, vous devriez simplement ajouter

/usr/share

défaut

open_basedir

, Depuis que tout est là, dans tous les cas, est conçu pour lire le monde.

Un plus,

open_basedir

Facile de se déplacer si vous n'avez pas bloqué

shell_exec

,

exec

,

system

et des fonctions similaires PHP, alors ne considérez pas cela sans danger pour l'utiliser (Je sais que ça craint).

Si vous êtes intéressé à quel point il est facile de se déplacer, vous pouvez simplement

system('php -n ascript.php');

. DANS

-n

ne sera pas lu PHP.ini, Par conséquent, pas

open_basedir

sera appliqué.

Hannah

Confirmation de:

Juste à votre note si vous avez des configurations nginx, Monté pour plusieurs vhosts (Donc configurations dans

/etc/nginx/sites-enabled/example.com

) Ensuite, vous devrez peut-être installer

fastcgi_param PHP_VALUE open_basedir=

là:

    location ~ \.php$ {
try_files $uri =404;
fastcgi_param PHP_VALUE open_basedir="/var/www/:/new/path";
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;

Christine

Confirmation de:

Réglage

open_basedir

de l'autre côté

fastcgi_param

peut causer
https://forum.nginx.org/read.php?3,234856
Lorsque vous avez plusieurs sites sur votre serveur.

Une autre variante - utilisation
https://www.php.net/manual/en/ ... r.php
.

Pour répondre aux questions, connectez-vous ou registre