Я просмотрел все существующие вопросы по этой проблеме, но так и не нашел ответа. Я работаю над сервером CentOS 7.
Вот моя пользовательская библиотека, которую я помещаю в приложения/библиотеки.
Simas_Bridge.php
class Simas_Bridge
{
private $CI;
private $client;
public function __construct()
{
$this->CI = &get_instance();
$this->CI->load->helper(['file']);
$this->client = new \GuzzleHttp\Client();
}
public function get_dokumen_drh($nip = null)
{
///.... Some Code
}
}
и я вызываю библиотеку из своего контроллера вот так
Форма.php
class Form extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->library('simas_bridge');
}
public function uploadFile(){
$this->simas_bridge->get_dokumen_drh('xxxxxxx'); >>>> The Error happens here!!!
}
}
Я попытался изменить способ вызова библиотеки на $this->load->library('Simas_Bridge')
и вызвать метод с помощью $this->Simas_Bridge->get_dokumen_drh()
.
Попробуйте изменить разрешение на 750 для файла Simas_Bridge.php на сервере. Это все еще не работает.
Всегда получайте эту ошибку
Unable to load the requested class: Simas_Bridge
Что может быть не так?
@Don'tPanic, я попробовал это с SimasBridge, все равно получил ту же ошибку
Как вы пытались загрузить его, когда исправили имя? Вы также пытались использовать соглашение, указанное в документации, без заглавной буквы «B»? И когда ты это сделал, как ты пытался его загрузить? Существует всего несколько соглашений, и если вы действительно следовали им всем (одновременно) и это не работает, у вас есть еще одна проблема, вызванная чем-то, чего вы нам не показали.
Вот моя пользовательская библиотека, которую я поместил в приложение/библиотеки SimasBridge.php SimasBridge !=Simas_Bridge
@Vickel, извини, у меня опечатка, сначала я попробовал с Simas_Bridge, но не получилось, после этого я попробовал с SimasBridge, и он тоже не работает, попробую Simasbridge rn
Попробуйте следовать соглашению об именах, предложенному Codeigniter, в их документации они предлагают следующее:
Итак, исходя из этого, вам следует сделать следующее:
для более подробной информации перейдите по этой ссылке Официальная документация Codeigniter 3
Уже пробовал этот подход, все равно не сработало. И тоже получил ту же ошибку.
это странно, попробуйте сменить владельца файла Simasbridge, а затем проверьте еще раз.
что мне следует изменить в собственности? на данный момент это <user>:apache с разрешением 750
Я не знаю, что случилось, но я повторяю попытку с самого начала, и это работает
могу я узнать, что ты делаешь? Итак, если другой пользователь обнаружит ту же проблему, он сможет прочитать этот пост? :)
точно так же, как вы рекомендуете, я сначала переименовываю файл обратно в Simas_Bridge.php, а класс в Simas_Bridge и называю его как simas_bridge
, а затем я повторяю то, что вы мне говорите, как сказано в документации, я переименовываю файл в Simasbridge.php , переименуйте класс в Simasbridge и вызовите его в моей конструкции контроллера с помощью $this->load->library('simasbridge')
окей, рад это слышать :)
Документы проверить пробовали? codeigniter.com/userguide3/general/… — в частности «Имена классов и имена файлов должны совпадать».