我根据网上的提供的 Nginx配置的代码 在nginx 做了如下配置:
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
但是我发现 在Amazon EC2上设置就可,在腾讯云设置就不行 ,Amazon EC2 Lnmp环境用的是https://lnmp.org/一键环境包,腾讯云是自己编译安装的 。
用phpinfo()
打印 Amazon EC 上的显示的open_basedir
都是有值的 ,但是腾讯云上配置的 就全是no value
但是在php.ini
中配置就可以,我实在想不明白明白了,改重启的也重启了。
难道是Nginx版本的问题? Amazon的Nginx版本是 1.10 , 腾讯云的Nginx版本是 1.12。
nginx:
set php open_basedir
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; (后面的目录,可以自行设置的,比如设置为open_basedir=/home/wwww/:/tmp/等)
php:
限制目录:open_basedir =/var/www/sina/:/var/www/wangyi/:/var/www/logs/session/,如果是apache则可以使用php_admin_value open_basedir 限定
这些是标准、正确的设置。如果相关VPS云不行,那应该是服务器的缘故,被限制或者搞什么了。