2015-02-09 34 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。