- 저는 Codeigniter 2.1.0을 사용하고 있습니다.
- 나는이 잘 작동
require_once APPPATH . "/libraries/aws_sdk/sdk.class.php";
사용하여 사용자 정의 모델에서 아마존 웹 서비스 SDK를 포함하고있다. CI 나중에 결정 그러나 그것은 (CI_DB_driver를 통해 :: _ cache_init)를 호출, 그것은 DB 캐시 클래스의로드해야 : 이것은 AWS SDK의 자동로드를 (정확한 방법은 CFLoader::autoloader
인) 트리거PHP AWS SDK 오토로더가 Codeigniter와 충돌합니다
if (! class_exists('CI_DB_Cache'))
{
if (! @include(BASEPATH.'database/DB_cache.php'))
{
return $this->cache_off();
}
}
.
이 DB_cache.php 거짓 어쨌든 경우 class_exists
반환 포함되어 있는지 보인다 내가, 자동로드에 class_exists
하지를 말함으로써이 문제를 해결 얻을 수 있습니다 :
if (! class_exists('CI_DB_Cache', false))
{
if (! @include(BASEPATH.'database/DB_cache.php'))
{
return $this->cache_off();
}
}
이 더러운 수정 작업을하지만, 분명히에만 즉시 문제를 해결 . 일반적으로 CodeIgniter가 다른 라이브러리의 자동로드와 혼동되지 않도록하는 가장 좋은 방법은 무엇입니까?
참고 : spl_autoload_register
사용에 대한
- 내가 읽은 비트와 조각을. Codeigniter가 이것을 사용하지 않는 것 같아요. 어떻게 안전하게 구현해야하는지 모르겠습니다. 나는 이것이 가장 유용한 방법을 구현해야하는 방법과 장소에 대한 견고한 예를 찾을 수있을 것이다 (물론 이것이 해결책 일 경우).
- AWS SDK는 이미
spl_autoload_register
을 사용 나타납니다spl_autoload_register(array('CFLoader', 'autoloader'));
당신은 아마 알다시피