open basedir php授權目錄設定

2021-10-02 19:10:43 字數 1020 閱讀 7398

在file_get_contents或file_put_contents或其它函式需要讀取寫入檔案時,需要設定open_basedir安全目錄

php為了安全性考慮,有一項 open_basedir 的設定。根據你web伺服器環境,open_basedir可以在幾個地方設定。

首先 在php.ini中配置。

1;open_basedir =

如果發現配置項前是有分號,表明php.ini中沒有該設定。那就很可能是在  php-fpm  中的 fastcgi.conf(一般在nginx/conf)中配置了。php-fpm中的配置會覆蓋php.ini的配置。

fastcgi_param php_admin_value "open_basedir=$document_root:/tmp/:/proc/:/you_web_path";

/you_web_path 是你要新增的讓php可以訪問的路徑。多個路徑直接分號隔開

如果也給伺服器有多個專案,無論是在php.ini或者fastcgi.cong中設定,都是針對所有專案。那能不能只針對某個專案設定呢?

答案是肯定的。還可以在專案根目錄中通過  .user.ini 進行配置。

.user.ini配置

首先,要使.user.ini生效,要設定php.ini 中的

2user_ini.filename = ".user.ini"

user_ini.cache_ttl = 300

關於這兩個配置的意義,請看php手冊

注釋掉 fastcgi.conf 中的 open_basedir  的配置後.user.ini才能生效。

在專案根目錄 建立 .user.ini檔案,寫入如下內容

1open_basedir=/tmp/:/proc/:/you_web_path

###fastcgi_param php_admin_value "open_basedir=$document_root/:/tmp/:/proc/";

fastcgi_param php_admin_value "open_basedir=null";

open basedir php授權目錄設定

在file get contents或file put contents或其它函式需要讀取寫入檔案時,需要設定open basedir安全目錄 php為了安全性考慮,有一項 open basedir 的設定。根據你web伺服器環境,open basedir可以在幾個地方設定。首先 在php.ini中...

open basedir php授權目錄設定

php為了安全性考慮,有一項 open basedir 的設定。根據你web伺服器環境,open basedir可以在幾個地方設定。首先 在php.ini中配置。open basedir 如果發現配置項前是有分號,表明php.ini中沒有該設定。那就很可能是在 php fpm 中的 fastcgi....

open basedir php檔案包含目錄配置

open basedir將php所能開啟的檔案限定在制定的目錄樹中,包括其檔案本身,當使用這些fopen,file put contents 開啟乙個檔案,這個檔案的檔案的位置會被檢查,如果檔案在其指定的目錄樹之外,程式將會被拒絕開啟。錯誤如下 通過檢視crontab定時命令 grep index....