PDA

View Full Version : [PHP] Problema... help! :(


-Black-
26-11-2009, 11:26
Ciao ragazzi, innanzitutto mi presento qui perchè non ho trovato la sezione apposita: mi chiamo Leonardo e sono uno studente universitario della facoltà di Meccanica al POLIBA di Bari e diciamo subito che non sono una cima in programmazione PHP :stordita:

Ho un problema. Ho completato oggi l'installazione di un prodotto sul mio spazio di altervista (è una specie di gioco tipo OGame). Installazione OK, dati MySQL OK, ma all'avvio dell'Index mi da un errore:

Fatal error: Call to undefined function: memory_get_peak_usage() in /membri/viazar/adm/statfunctions.php on line 462

Ho cercato di capire il problema ma per quanto mi sforzi, modificando i valori tra parentesi mi da sempre lo stesso errore...

Questa è la stringa di codice con l'errore:

}
//We update the ranks of the users
MakeNewRanks(1);
// Calcul de la duree de traitement (calcul)
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$result['stats_time'] = $stats_time;
$result['totaltime'] = ($endtime - $starttime);
$result['memory_peak'] = array(round(memory_get_peak_usage() / 1024,1),round(memory_get_peak_usage(1) / 1024,1));
$result['end_memory'] = array(round(memory_get_usage() / 1024,1),round(memory_get_usage(1) / 1024,1));
$result['amount_per_block'] =$amount_per_block;
return $result;
}

Sto uscendo letteralmente pazzo... Se vi serve altro ditemelo...

Grazie per chi mi aiuterà :)

bottomap
26-11-2009, 11:32
Ciao,

La memory_get_peak_usage() mi risulta che sia presente da PHP 5.2.0 in poi (la memory_get_usage invece esiste dalla 4.3.2)... sei sicuro che altervista ti fornisca una versione di php non inferiore a quella indicata?

L'errore che ricevi non riguarda i parametri che passi alla funzione, ma proprio il fatto che la funzione secondo l'interprete php non esiste (call to undefined function - chiamata a una funzione non definita), per cui ho l'impressione che la risposta alla domanda sia no...

Eventualmente puoi ottenere le informazioni relative con uno script di una riga:
<?php phpinfo(); ?>

Ciaociao :)

-Black-
26-11-2009, 11:42
ciao bottomap, grazie della risposta.

Il prodotto che ho installato richiedeva, prima che effettuassi l'installazione, la versione 5.2 del PHP come hai detto tu, così nelle impostazioni ho aggiornato dalla 4 alla 5 e poi ho installato tutte le tabelle nel database. (quindi è la ver. 5 :) )

Come faccio a inserire correttamente la stringa di info che mi hai detto?

bottomap
26-11-2009, 11:47
Ciao,

Altervista ti permette di aggiornare l'interprete php (non sono un utente altervista)? In che senso "nelle impostazioni ho aggiornato dalla 4 alla 5"?
In ogni caso non basta la 5.qualsiasi, bisogna che sia almeno 5.2.0 o superiore.
Edit: L'uso con la 5.2.0 poi è limitato ad un interprete php compilato con l'opzione --enable-memory-limit. Altrimenti è necessaria almeno la 5.2.1

Quella stringa di info la puoi inserire in un sorgente .php qualsiasi (a.php, info.php, quellochevuoi.php).
Accedendovi ottieni una lunga serie di informazioni sul sistema in uso (magari non la mantenere in via definitiva, ma per controllare velocemente versioni, funzionalità e simili è un riferimento).

Ciaociao :)

cionci
26-11-2009, 11:57
La prossima volta vediamo di non mettere un titolo così generico ;)

-Black-
26-11-2009, 12:02
ti ho fatto uno screen delle impostazioni :D :

http://i49.tinypic.com/2ekos9d.jpg

Il problema di altervista è che non mi dice con esattezza la versione utilizzata! :doh:

EDIT: queste sono le info avanzate:

# av:PHP-upload
php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
# PHP-upload

cionci
26-11-2009, 12:09
La versione la vedi con questo script:

<?php phpinfo(); ?>

-Black-
26-11-2009, 12:11
Dovete scusarmi ragazzi, è che non sono molto pratico di programmazione.

-Black-
26-11-2009, 12:14
Grazie ragazzi, ho risolto ;) Siete grandi