I am using the same config (Apache 2.0.5, MySQL 4.0.2, and php 4.3.8 on a debian (utunbu) system) and having the same problem.
After some tests, what I found out is that when @mysql_connect is called, PHP ends script execution and returns without giving any error message EVEN with error_reporting(E_ALL).
Within Xoops, the problem is occuring in /class/database/mysqldatabase.php, function connect($selectdb = true).
I have tried this:
function connect($selectdb = true)
{
//BEGIN DEBUG CODE
echo ">>>>> Before @mysql_connect";
echo " XOOPS_DB_PCONNECT: ", XOOPS_DB_PCONNECT;
echo " XOOPS_DB_HOST: ", XOOPS_DB_HOST;
echo " XOOPS_DB_USER: ", XOOPS_DB_USER;
echo " XOOPS_DB_PASS: ", XOOPS_DB_PASS;
error_reporting(E_ALL);
//END DEBUG CODE
if (XOOPS_DB_PCONNECT == 1) {
$this->conn = @mysql_pconnect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS);
} else {
$this->conn = @mysql_connect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS);
}
//BEGIN DEBUG CODE
echo ">>>>> After @mysql_connect"; //NEVER SEE THIS
//END DEBUG CODE
...
I see all the echoes before @mysql_connect is called, but never see the "After @mysql_connect" message

This seems to be a PHP/MySQL configuration rather then a XOOPS problem...
I am trying to make PHP tell me what is going on. As I am PHP, MySQL, Linux novice, advice would be very appreciated.