2015-02-09 33 views
1

嚴重性:警告Codeigniter open_basedir_restriction對共享主機有效

消息:mkdir():open_basedir限制生效。 File()不在允許的路徑內:(/ home/thelazyppl /:/ home/thelazyppl:/ tmp:/ usr/local/lib/php /)

文件名:drivers/Session_files_drivers.php

該網站的根文件夾是一個wordpress網站,所以我已經在根文件夾中爲名爲「Bazaar」的Codeigniter網站創建了一個子域。我已經在config.php和wordpress htaccess中設置了base_url以允許文件夾「Bazaar」,但仍然沒有任何工作。

我的主機不允許修改php.ini文件來禁用open_basedir,是否有另一種方法來允許它或我做了什麼錯誤的過程?

回答

7

您的CodeIgniter安裝嘗試將其會話文件保存到不可寫的地方。當你在共享主機上時,我會建議將會話數據存儲在數據庫中。

根據導致錯誤的文件名,它看起來像是在CodeIgniter 3上。user guide中有關於如何正確配置它的一些信息。

要繼續使用這些文件的驅動程序,您將需要更改$config['sess_save_path']變量的內容把它指向像/tmp/home/thelazyppl/tmp(你在你的FTP創建的文件夾tmpwwwpublic_html目錄之外後)。

更好的選擇是使用數據庫驅動程序,其細節在下面。

如果您在CodeIgniter 2上遇到這些問題,您肯定需要啓用數據庫。爲此,您需要將$config['sess_use_database']選項更改爲TRUE,然後運行CodeIgniter 2 user guide中顯示的SQL。