gpt4 book ai didi

php - "Unable to load the requested class"错误仅在服务器上

转载 作者:搜寻专家 更新时间:2023-10-31 21:37:41 25 4
gpt4 key购买 nike

我有一个 CodeIgniter 应用程序,并且在我的本地笔记本电脑 (Windows 7) 上它可以正常工作。我已将文件上传到远程服务器,现在它出错 无法加载请求的类: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'); -> 同样的错误
  • 加载另一个库 -> 同样的错误
  • 三次检查文件是否存在 (FTP) -> 是否存在
  • 检查文件夹和文件权限。 (文件夹:755,文件:644;与助手文件夹相同)

有人可以帮我留头发吗? ;)

最佳答案

我怀疑您的服务器是某种 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 约定
  • 文件名必须大写。例如:Myclass.php
  • 类声明必须大写。例如:类 Myclass
  • 类名和文件名必须匹配。

查看 custom library classes 的文档.

在您的情况下,您需要将文件命名为 MY_itemblocklibrary.php(或者您在配置文件中设置的任何前缀),然后将其加载为:

$this->load->library('MY_itemblocklibrary');

关于php - "Unable to load the requested class"错误仅在服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15313970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com