关于thinkphp框架下跨目录的问题,军哥帮忙看看
军哥,我装CRMEB的时候,发现目录不可写,已经定位到是thinkphp框架防止跨目录的问题。
LNMP 1.4或更高版本如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启nginx。
LNMP 1.4或更高版本也可以直接使用lnmp安装包 tools/ 目录下的 ./remove_open_basedir_restriction.sh 进行移除。
在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。
我想请教的是,如果我注释了这行,open_basedir=$document_root/:/tmp/:/proc/所有的vhost都可以跨目录了,
如果我只想让thinkphp的那个网站可以跨目录呢?可以这样吗?需要怎么做?谢谢
https://lnmp.org/faq/lnmp-vhost-add-howto.html 最开始有说明,还有一个.user.ini 的放跨目录设置 licess 发表于 2020-4-10 17:19
https://lnmp.org/faq/lnmp-vhost-add-howto.html 最开始有说明,还有一个.user.ini 的放跨目录设置 ...
open_basedir=/alidata/www/kaokao.app:/tmp/:/proc/:/runtime/:/.env/
类似于这样?在后面添加可以允许的目录吗? xiaoker 发表于 2020-4-10 17:34
open_basedir=/alidata/www/kaokao.app:/tmp/:/proc/:/runtime/:/.env/
类似于这样?在后面添加可以允许 ...
是的,但目录是绝对路径 licess 发表于 2020-4-11 09:08
是的,但目录是绝对路径
如果我想要网站跟目录下的/runtime/ 以及.env 的权限为可读写的话
我应该怎么修改?
open_basedir=/alidata/www/genwomai.cn:/tmp/:/proc/:/runtime/:/.env/
open_basedir=/alidata/www/genwomai.cn/runtime/
open_basedir=/alidata/www/genwomai.cn/.env
还是改成
open_basedir=/alidata/www/kaokao.app:/tmp/:/proc/:/runtime/:/.env/
改成这2个都不生效,没有解决问题。
xiaoker 发表于 2020-4-11 17:51
如果我想要网站跟目录下的/runtime/ 以及.env 的权限为可读写的话
我应该怎么修改?
多个目录 : 分开,.env 是文件的话加上也不起作用,前面已经说过了是绝对路径才行
重启生效 licess 发表于 2020-4-11 20:16
多个目录 : 分开,.env 是文件的话加上也不起作用,前面已经说过了是绝对路径才行
重启生效 ...
收到,多谢军哥
页:
[1]