Prova questo script:
<?
if (!ini_get('safe_mode')) {
set_time_limit(2400);
}
$host="localhost";
//oppure $host="192.168.0.1";
$user ="nome utente amministratore db";
$pass = "password utente";
$DB_name="nome del database da ottimizzare";
$msg="";
$link = mysql_connect($host,$user,$pass);
if ( ! $link ) die("Errore ...impossibile connettersi a MYSQL");
if([EMAIL="!@mysql_select_db($DB_name,$link"]!@mysql_select_db($DB_name,$link[/EMAIL])) die("Errore ...impossibile connettersi al DataBase".mysql_error());
}
echo <<<EOT
<html><head><title>Ottimizzazione Tabelle</title>
<STYLE TYPE="text/css">
BODY{BACKGROUND-COLOR: #dfdfd1;FONT:BOLDER 14px VERDANA,ARIAL,MS Sans Serif;color:red;}
</STYLE>
</head>
<body >
<center>
<h3>Ottimizzazione Tabelle<br> $DB_user</h3>
<p>
EOT;
$query="SHOW TABLE STATUS FROM $DB_name ";
$result= mysql_query ($query) or die ("errore : ". mysql_error() );
if(mysql_num_rows($result)){
while($row=mysql_fetch_array($result)){
$query='OPTIMIZE TABLE '.$row[0];
$result1=mysql_query($query) or die("errore : ". mysql_error()."\n");
$row1=mysql_fetch_row($result1);
if($row1[2]!='status') echo "Tabella: $row[0] <br> - $row1[2]: $row1[3]<br>";
else echo "Tabella: $row[0] O.K.<br>";
}
}
echo <<<EOT
<script>
alert("Ottimizzazione O.K.")
self.close()
</script>
EOT;
exit;
?>
Io lo uso da tempo e funziona
Ciao cirpack