I looked further this morning
I used the same broken configuration when i encounter this problem on a fresh install of modx.
PHP 4 ini file used with PHP 5 => bad php_mysql extension build => mysql extension not loaded
During installation, it seems that the modx install script doesn’t check if this extention is fully loaded or not.
if the mysql extension is not loaded, the install script does not handle the missing functions errors properly.
for instance, file "connection.collation.php" :
$output = '<select id="database_collation" ...>';
if ($conn = @ mysql_connect($host, $uid, $pwd)) {
if (mysql_num_rows($getCol) > 0) {
// ...
$output = '<select id="database_collation" ...>';
// + collation options end </select> written
}
}
echo $output; // replace the initial <select id="database_collation" ...>...</select> after ajax call
if mysql extension not loaded :
=> $conn == "Fatal error: Call to undefined function mysql_connect() ..." (error not shown because of the @)
=> $conn is TRUE and conditional code is executed
=> $output = "";
=> $(collation) updated by mootools with no content
=> drop down <select id="database_collation"> removed from DOM (and does not appear anymore)
=> Ajax/javascript error $(database_collation) is null
similar bugs in files connection.servertest.php and connection.databasetest.php
Maybe the modx’s install script should check for the rare case in mysql extention is not loaded,
some of the install/connection.* files have to be modified to handle this.
my 2 cents