In the config file "config.php" where you set up your database password, if you use some characters (like "#") you will get a blank page.
It happens in init.php at line 126
$GLOBALS['db'] = ADONewConnection("mysqli://".DB_USER.':'.DB_PASS.'@'.DB_HOST.':'.DB_PORT .'/'.DB_NAME);
PHP Code:
// ---------------------------------------------------
// Setup our DB
// ---------------------------------------------------
include_once(INCLUDES_PATH . "/adodb/adodb.inc.php");
include_once(INCLUDES_PATH . "/adodb/adodb-errorhandler.inc.php");
$GLOBALS['db'] = ADONewConnection("mysqli://".DB_USER.':'.DB_PASS.'@'.DB_HOST.':'.DB_PORT.'/'.DB_NAME);
$GLOBALS['log'] = new CSystemLog();
if( !is_object($GLOBALS['db']) )
die('');
$mysql_server_info = $GLOBALS['db']->ServerInfo();
$GLOBALS['db_version'] = $mysql_server_info['version'];
$debug = $GLOBALS['db']->Execute("SELECT value FROM `".DB_PREFIX."_settings` WHERE setting = 'config.debug';");
if($debug->fields['value']=="1") {
define("DEVELOPER_MODE", true);
}
it will try to connect to the database, if it fails, the page dies whith no error.
PHP Code:
if( !is_object($GLOBALS['db']) )
die('');
Solution: just urlencode the DB_PASS
PHP Code:
$GLOBALS['db'] = ADONewConnection("mysqli://".DB_USER.':'.urlencode(DB_PASS).'@'.DB_HOST.':'.DB_PORT.'/'.DB_NAME);