如何使用php以编程方式获取Joomla数据库前缀?


13

我有时会通过外部脚本访问Joomla DB。我的问题是,如果我需要更改前缀,则也需要再次编辑脚本。

有没有办法使用php以编程方式确定Joomla数据库前缀?如果是,怎么办?

Answers:


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文档并不意味着您绝不能修改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;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.