PHP框架編程的時候, 有時候爲了提高安全性, 會把控制器啦、模型啦、視圖啦之類的文档塞到類似public這種外部可訪問根目錄的同級目錄當中,這樣會觸發奇怪的報錯:open_basedir restriction in effect。網上有很多各種各樣的說法, 實際問題除了檢查php.ini那個open_basedir關鍵字的配置行之外, 還應該檢查一下nginx的fastcgi.conf這個配置文档。
假如nginx的路徑在/usr/local/nginx當中, 那麽找到conf這個文档夾, 找到fastcgi這個文档。接著vim或者其他編輯器打開文档, 找到或者修改以下行
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp:/proc/";
其中 : 冒號就是分隔符,如果你網站放到了
/home/wwwroot/www.wkwkk.com
這樣的目錄裡,如果是上面那行配置代碼的案例,你就可以修改成如下效果:
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/home/wwwroot/www.wkwkk.com/:/tmp:/proc/";