Notice: Array to string conversion in menu_link_save()
Installando drupal 7 su fedora 16, con Apache 2.2.22, mysql 5.5.23 ottengo una serie lunghissima di messaggi di errore come questo:
Notice: Array to string conversion in menu_link_save() (line 3155 of /var/www/html/drupal/includes/menu.inc).
e quando vado al mio nuovo sito trovo due messaggi come questo:
Warning: Illegal string offset 'field' in DatabaseCondition->__clone() (line 1901 of /var/www/html/drupal/includes/database/query.inc).
Qualcuno sa che cosa significano?

Risposte
Ciao, mai capitato prima!
Ciao, mai capitato prima! Come hai eseguito l'installazione di Drupal? Che permessi hai dato all'utente del db?
Ciao Niubbo,ho scaricato il
Ciao Niubbo,ho scaricato il l'archivio "drupal-7.12.tar.gz", l'ho estratto nella mia home, ho copiato la cartella "drupal-7.12" nella cartella "/var/www/html/", l'ho rinominata "drupal", ho copiato "./sites/default.settings.php" nella stessa cartella, e l'ho rinominato "settings.php", ho assegnato alla cartella "drupal" e al suo contenuto i permessi 777 (pensando di riportarli piu' tardi a 744), ho creato il database "drupal" con phpMyAdmin, collation: utf_unicode_ci, utente root con tutti i privilegi, ho avviato l'installazione dal browser.
Ho sbagliato qualcosa?
Avrei la possibilita' di installare con yum, ma preferisco farlo manualmente per avere il controllo su cio' che accade e capire meglio.
Ho installato anche altri cms e lms per provarli, piu' o meno con le stesse modalita', e funzionano, per cui penso che il database e i suoi permessi siano ok.
Grazie.
Ciao, allora i permessi sono
Ciao, allora i permessi sono sbagliati, alla cartella drupal e tutto il suo contenuto dai 755, alla cartella files che hai in sites/default e tutto quello che è contenuto dentro files dai 777, al file settings.php che hai sempre li dai 444. Per quanto riguarda il db, io non uso phpMyAdmin, lavoro direttamente da cli, non so se creando da phpMyAdmin effettivamente dai tutti i privilegi oppure no, per toglierti ogni dubbio prova a riassegnarli da cli, ti do la sequenza dei comandi:
mysql -u root -p(scrivi adesso la password di root)
GRANT ALL ON nomedb.* TO 'root'@'localhost' IDENTIFIED BY 'la password di root';
FLUSH PRIVILEGES;
quit;
Prova e vedi se risolvi. Ciao ciao.
Grazie Niubbo75, ho cambiato
Grazie Niubbo75,
ho cambiato i permessi come da te indicato e tutto sembrerebbe funzionare.
Ho dovuto anche cambiare il file includes/database/query.inc sostituendo:
<?phpfunction __clone() {
$this->changed = TRUE;
foreach ($this->conditions as $key => $condition) {
if ($condition['field'] instanceOf ConditionInterface) {
$this->conditions[$key]['field'] = clone($condition['field']);
}
}
}
?>
con
<?phpfunction __clone() {
$this->changed = TRUE;
foreach ($this->conditions as $key => $condition) {
if ($key !== '#conjunction' && $condition['field'] instanceOf ConditionInterface) {
$this->conditions[$key]['field'] = clone($condition['field']);
}
}
}
?>
come indicato qui:
http://drupal.org/node/1414412
Grazie tante per il tuo valido aiuto.
Bene, mi fa piacere che tu
Bene, mi fa piacere che tu abbia risolto :-)
Ciao ciao.
Sorry: il problema si e'
Sorry: il problema si e' ripresentato.
Il messaggio
Notice: Array to string conversion in menu_link_save() (line 3155 of /var/www/html/drupal/includes/menu.inc).
E' apparso creando un nuovo vocabolario.
Uhmmm... Prova a fare questo
Uhmmm... Prova a fare questo tentativo, crea un nuovo db da cli, assegnalo ad un utente, anche se quell'utente non è presente sul sistema, va bene uguale, assegnagli una password, dai tutti i permessi all'utente su quel db.
Rinomina settings.php in settings.php.old
Crea un nuovo file settings.php (cp default.settings.php settings.php) e assegnagli lettura scrittura ed esecuzione (chmod 777 settings.php), rilancia l'installazione e, se dovesse darti qualche errore, posta qui, se invece procede tutto senza intoppi, verifica che poi funzioni tutto. Ricordati di impostare settings.php a 444 quando hai terminato l'installazione.
Ciao ciao.
eseguito tutto da cli, con
eseguito tutto da cli, con nuovo utente, come da te suggerito, ma compare sempre il messaggio
Notice: Array to string conversion in menu_link_save() (line 3155 of /var/www/html/drupal/includes/menu.inc).
ripetuto 856 volte
ora penso di aver risolto
ora penso di aver risolto (fino a prova contraria).
Ho applicato questa patch:
http://drupal.org/files/menu-link-save-1338282-30-d7.patch
al file /icludes/menu.inc
i messaggi di errore su nuova installazione sono spariti. Vediamo in seguito.
ciao e grazie per il sollecito supporto.
Bene, speriamo che vada
Bene, speriamo che vada avanti così, allora :-)
Ciao ciao.