标签: open-basedir

如何在 nginx vhost 中添加 open_basedir 路径

在 php.ini 我已经设置

open_basedir = /home/user/web/
Run Code Online (Sandbox Code Playgroud)

现在我想在需要包含来自 /usr/share/phppgadmin 的文件的子域上运行 phppgadmin。
因此,我在此主机的 nginx-config 中添加了以下行:

fastcgi_param PHP_VALUE open_basedir="/home/user/web/:/usr/share/phppgadmin/";
Run Code Online (Sandbox Code Playgroud)

并重新启动nginx。但是,由于以下错误,我无法访问该站点:

[错误] 31440#0: *1 FastCGI 发送到 stderr: "PHP 警告: include_once(): open_basedir 限制生效。文件(/usr/share/phppgadmin/libraries/lib.inc.php) 不在允许的路径内(s): (/home/user/web/)在 /usr/share/phppgadmin/info.php 第 10 行

此处未列出第二条路径的原因可能是什么?将 open_basedir 添加到虚拟主机还需要什么?我只使用了 /sites-available 中的默认文件。

编辑总是想到重新启动fpm ...

service php5-fpm restart
Run Code Online (Sandbox Code Playgroud)

php nginx fastcgi open-basedir

6
推荐指数
2
解决办法
2万
查看次数

MediaWiki“open_basedir 限制生效”

我安装了本地 MediaWiki 并授予其访问以下目录的权限php.ini

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/mediawiki
Run Code Online (Sandbox Code Playgroud)

为什么我仍然收到以下消息?这对我来说没有意义:

<b>Warning</b>:  is_file(): open_basedir restriction in effect. File(/usr/share/webapps/mediawiki/images/lock_yBgMBwiR) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/mediawiki) in <b>/usr/share/webapps/mediawiki/includes/GlobalFunctions.php</b> on line <b>1196</b><br />
Run Code Online (Sandbox Code Playgroud)

怎能/usr/share/webapps/mediawiki/images/lock_yBgMBwiR不在之内/usr/share/webapps/mediawiki

我在 httpd.conf 中没有进一步的限制(我在官方 php 文档中读到文件 open_basedir 语句也可以如此)。

php mediawiki open-basedir

4
推荐指数
1
解决办法
1219
查看次数

标签 统计

open-basedir ×2

php ×2

fastcgi ×1

mediawiki ×1

nginx ×1