php设置文件权限问题,关于.user.ini以及php访问上级文件权限问题
報錯:open_basedir()無法require外部文件的錯。
原因:站點根目錄為public,? 要訪問上一級目錄下的文件,需開啟外部訪問權限
1、檢查nginx的配置文件fastcgi.conf? 是否設置了open_basedir(一般在最后一行),fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/" ,其中$document_root是站點根目錄,將這整行注釋掉,或者改成“open_basedir=$document_root/../:/tmp/:/proc/”
2、php.ini是否設置了open_basedir配置,如果有改成正確配置
3、使用.user.ini文件設置:open_basedir=/home/wwwroot/yestar.whrango.cc:/tmp/:/proc/,注意要使用chattr +i .user.ini 將文件設置為不可修改;一個服務器使用多種php框架建議將1、2關閉,通過.user.ini設置,這樣可以針對不同框架的站點進行設置,靈活性更強;如果一個服務器只有一種php框架,可以在fastcgi.conf 或者php.ini里面設置,一勞永逸
開啟權限的方式有多種,最好的方式是在站點根目錄下(public文件夾下)配置.user.ini文件,將“open_basedir = /home/wwwroot/xxx.com/public:/tmp/:/proc/”改成“open_basedir = /home/wwwroot/xxx.com:/tmp/:/proc/”
使用.user.ini最關鍵的步驟是:修改完要重啟php-fpm,命令:service php-fpm restart
總結
以上是生活随笔為你收集整理的php设置文件权限问题,关于.user.ini以及php访问上级文件权限问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于php的购物网站源代码,基于PHP的
- 下一篇: php 获取xlsx,PHPExcel获