我的本地笔记本电脑(Windows 7)上有 CodeIgniter 应用程序,可以正常工作。
我已将文件上传到远程服务器,现在发出错误 Unable to load the requested class: itemblocklibrary
。
加载库的代码:
$ci =& get_instance();
$ci->load->helper('member_area_helper'); // works
$ci->load->library('itemBlockLibrary'); // dies here
该文件位于远程服务器上:/www/case/project/application/libraries/itemBlockLibrary.php
我试过了:
echo 'Have you seen ' . APPPATH . 'libraries/itemBlockLibrary.php? <br/>';
echo (file_exists(APPPATH . 'libraries/itemBlockLibrary.php') ? 'Yes sir, it does exists!' : 'No sir, can\'t find it');
输出:
Have you seen application/libraries/itemBlockLibrary.php?
Yes sir, it does exists!
和
$ci->load->library('itemblocklibrary');
- &gt;同样的错误有人可以帮我养头发吗? ;)
答案 0 :(得分:1)
我怀疑你的服务器是Linux的一种风格,你遇到了区分大小写。您的文件使用驼峰案例名称itemBlockLibrary.php
,并且正在转换为所有小写和大写的第一个字母,以便在CI_Loader
类的目录中查找匹配的文件。
从Loader类,_ci_load_class
函数:
// We'll test for both lowercase and capitalized versions of the file name
foreach (array(ucfirst($class), strtolower($class)) as $class)
更改文件名以使用
的CI约定查看custom library classes的文档。
在您的情况下,您需要将文件命名为MY_itemblocklibrary.php
(或者您在配置文件中设置的前缀),然后将其加载为:
$this->load->library('MY_itemblocklibrary');