症狀
在Codeigniter中使用一個庫,命名為Zebra_Pagination.php,全路徑為:
application\libraries\Zebra_Pagination.php
在window下調試沒有問題,class可以正常加載。但是在Linux環境下需要加載該庫時出現如下錯誤提示:
An Error Was Encountered
Unable to load the requested class: zebra_pagination
但是該類庫文件確實是存在的。
解決辦法
在stackoverflow上看到有類似問題,解決方法是在autoload的時候把名字寫成大寫,試了一下,沒有任何效果。可能不適合我這里的問題場景。
既然說有可能和大小寫有關,那就修改一下類名的大小寫。修改如下:
1. Zebra_Pagination.php 文件更名為Zebra_pagination.php,保險起見,里面的class name也做對應修改。
2. autoload.php 中或者調用時加載使用小寫即可,即
$autoload['libraries'] = array('zebra_pagination');