Я делаю панель, которая требует библиотеки Teamspeak 3 в CodeIgniter. Теперь я получаю сообщение об ошибке, что TeamSpeak3_Helper_Uri не найден в Teamspeak.php. Perhabs имеет какое-то отношение к именованию, поскольку он отлично работает на компьютере под управлением Windows (теперь он работает в Linux).
Ошибка:
Fatal error: Class 'TeamSpeak3_Helper_Uri' not found in /var/www/html/FlightAcademy/application/libraries/Teamspeak3/Teamspeak3.php on line 313
Teamspeak3.php строка 309 до 322:
public static function factory($uri) { self::init(); $uri = new TeamSpeak3_Helper_Uri($uri); // <-- Line 313 $adapter = self::getAdapterName($uri->getScheme()); $options = array("host" => $uri->getHost(), "port" => $uri->getPort(), "timeout" => intval($uri->getQueryVar("timeout", 10)), "blocking" => intval($uri->getQueryVar("blocking", 1))); self::loadClass($adapter); $object = new $adapter($options); if($object instanceof TeamSpeak3_Adapter_ServerQuery)
Моя файловая структура в CodeIgniter:
libraries Teamspeak3 Adapter Helper Uri.php (TeamSpeak3_Helper_Uri) ... Node Transport Viewer Exeption.php Teamspeak3.php
Ошибка возникает, когда я вызываю в своей модели:
$ts3 = TeamSpeak3::factory
Надеюсь, ты сможешь помочь, потому что я понятия не имею, что случилось.
Итак, я понял эту ошибку. Похоже, что проблема заключается в соглашении об именах между Windows и Linux в CodeIgniter. Я решил проблему, назвав все оригинальные классы «TeamSpeak» «Teamspeak». Похоже, что это была проблема.