一服务器上多个站点,我们可以利用php的.user.ini文件进行隔离
如A站点目录在 /home/web/a B站长在/home/web/b目录,现在要使相互隔离
php.ini中的.user.ini配置
把;open_basedir = 注释
要使.user.ini生效,要设置php.ini 中的
user_ini.filename = ".user.ini"
user_ini.cache_ttl = 300
要把前面的;号取消
toch ./home/web/a/.user.ini
echo 'open_basedir=./:/tmp/: /home/web/a/:/proc/ ' >./home/web/a/.user.ini
touch . /home/web/b/ .user.ini
echo 'open_basedir=./:/tmp/: /home/web/b/ :/proc/' > ./home/web/b/.user.ini
chmod 644 /home/web/a/.user.ini
chmod 644 /home/web/b/.user.ini
chown -R root:root /home/web/a/.user.ini
chown -R root:root /home/web/b/.user.ini
chattr +i /home/web/a/.user.ini
chattr +i /home/web/b/.user.ini

还需要在php.ini里配置

在disable_functions=后面加上如下eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,disk_total_space,disk_free_space,error_log,putenv,popen,ini_set,chmod,assert,pcntl_exec,phpfunc;

分类: PHP 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录