In fase di installazione di WordPress ho un problema bloccante.
Chiamando la pagina di installazione wp-admin/install.php ottenevo una pagina bianca e non succedeva nulla.
Verificando i file log di apache di errore, avevo trovato delle righe come:

PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 92160 bytes) in ….wordpress/wp-includes/widgets.php on line 977, referer: …/wordpress/wp-admin/setup-config.php?step=2
WordPress database error Table ‘wp_options’ doesn’t exist for query SELECT option_value FROM wp_options WHERE option_name = ‘siteurl’, referer: …/wp-admin/setup-config.php?step=2
WordPress database error Table ‘wp_options’ doesn’t exist for query SELECT option_name, option_value FROM wp_options WHERE autoload = ‘yes’, referer: …/wp-admin/setup-config.php?step=2

Dopo aver verificato che il mio php era installato correttamente, si connetteva correttamente al database, riuscivo a creare una taballa senza problemi, sono passato a verificare i settaggi di php, scoprendo che di default l’installazione php standard sotto SUSE mette a disposizione poca memoria per ogni singola pagina, per cui la pagina widget.php non poteva essere eseguita.

Se avete problemi analoghi la soluzione e’ la seguente:

  1. individuate il file php.ini che contiene i parametri base di php
  2. trovate questa riga:
    memory_limit = 4M ; Maximum amount of memory a script may consume (8MB)
  3. modificate il valore portandolo alto. Io ho messo 128M
    memory_limit = 128M ; Maximum amount of memory a script may consume (8MB)
  4. riavviate Apache (anche se probabilmente non serve nemmeno)
  5. rilanciate la procedura di installazione e vedrete che tutto funzionerà alla prefezione

Come trovare il file php.ini
La soluzione piu’ semplice e’ lanciare la pagina info.php sul vostro sito e leggere nelle prime righe il path del file. Se non avete una info.php nel vostro sito, create un file info.php e scriveteci dentro queste istruzioni.
<?php
phpinfo();
?>

Come verificare se tramite php la connessione al DB funziona correttamente:
Create sul vostro sito una pagina testsql.php scrivendo queste istruzioni:

<html>
<head> <title>MySQL Test</title> </head>
<body>
<h1>
<?
$user=”<nomeutente>”;
$password=”<password>”;
$database=”<nome_del_db>”;
$server=”localhost”;
mysql_connect($server,$user,$password);
@mysql_select_db($database) or die( “Unable to select database”);
$query=”CREATE TABLE contacts (id int(6) NOT NULL auto_increment,first varchar(15) NOT NULL,last varchar(15) NOT NULL,phone varchar(20) NOT NULL,mobile varchar(20) NOT NULL,fax varchar(20) NOT NULL,email varchar(30) NOT NULL,web varchar(30) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))”;
mysql_query($query);
mysql_close();
?></h1>
</body></html>

Sostituendo ovviamente a nomeutente, password, nome_del_db ed eventualmente server i dati di connessione al db che vi hanno fornito.
Se non riesce a connettersi vi darà un chiaro messaggio di errore, altrimenti se tutto funziona correttamente verrà creata una tabella “contacts” all’interno del vostro db, che potrete cancellare dopo questo test.

Switch to our mobile site