PHP를 사용하여 Joomla 데이터베이스 접두사를 프로그래밍 방식으로 얻는 방법은 무엇입니까?


13

때로는 외부 스크립트를 통해 Joomla DB에 액세스합니다. 내가 가진 문제는 접두사를 변경 해야하는 경우 스크립트를 다시 편집해야한다는 것입니다.

PHP를 사용하여 Joomla 데이터베이스 접두사를 프로그래밍 방식으로 결정하는 방법이 있습니까? 그렇다면 어떻게?

답변:


16

다음을 사용하여 접두사를 얻을 수 있습니다.

Joomla 2.5의 경우 :

$app = JFactory::getApplication(); 
$prefix = $app->getCfg('dbprefix');

Joomla 3.2의 경우 :

$app = JFactory::getApplication(); 
$prefix = $app->get('dbprefix');

그러나 Joomla 설명서에서는 접두사를 수정하지 않는 것이 좋습니다. 일부 백업 소프트웨어를 사용하면 잠재적으로 관련된 작업을 과소 평가하지는 않지만 복원을 통해 부분적으로 변경할 수 있습니다.

출처 : http://docs.joomla.org/How_to_determine_your_database_prefix


4
Joomla Documentation은 db_prefix를 절대 수정해서는 안된다는 의미는 아닙니다. 전역 구성 설정에서 값을 변경하지 말라고 말하면 데이터베이스에 대한 연결을 잃어 사이트가 손상 될 수 있기 때문입니다. com_config의 값을 변경해도 데이터베이스 자체는 변경되지 않으므로 db 접두사 변경으로 간주되지 않습니다. 누군가 자신이하는 일을 알고 있다고 가정하면 데이터베이스 접두사를 변경할 수 있습니다.
FFrewin

4

외부 스크립트를 통해 Joomla DB에 액세스하는 경우 데이터베이스 접두사를 얻기 위해 모든 Joomla 항목을 초기화하지 않을 수도 있습니다. 따라서 스크립트 내에 configuration.php 파일이 필요하고 JConfig 클래스를 인스턴스화하고 dbprefix를 얻을 수 있습니다.

require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.