Ho fatto vome ho sempre fatto... metto in "manutenzione", backuppo Db e Dir, e sovrascrivo i file con quelli della nuova versione. Vado su www.miosito.com/update.php MA STAVOLTA ottengo una cosa del genere:
user warning: Table 'drp.semaphore' doesn't exist query: SELECT expire, value FROM semaphore WHERE name = 'locale_cache_it' in /usr/home/miadir/includes/lock.inc on line 154.
Ho anche provato ad andare avanti cliccando su Continua... Poi mi compare il link per tornare al pannello di amministrazione ma si blocca con questo errore
Fatal error: Call to undefined function: array_intersect_key() in /usr/home/miadir/modules/update/update.compare.inc on line 695
Che fare? Nel frattempo ho ripristinato la vecchia versione ma non mi pare la soluzione giusta, visto che c'è di mezzo anche la sicurezza...
Problemi analoghi li trovi qui e qui (ancora non risolto). Per il secondo problema non saprei..
Come già detto altrove semaphore è una nuova tabella di D6.16, viene creato dal codice modules/system/system.install: 2650:
/**
* Add semaphore table.
*/
function system_update_6054() {
...
}
Il secondo problema è dovuto ad una versione di PHP troppo vecchio - la funzione array_intersect_key() esiste solo dalla versione 5.1.0 in poi: http://php.net/manual/en/function.array-intersect-key.php
Più imparo, più dubito.
A me quel lock.inc negli errori viene sempre segnalato la riga 154 e 229. Il messaggio è sempre quello. Non dice altro..
EDIT:
I log li ho visti qui: admin/reports/dblog
http://www.drupalitalia.org/node/9898#comment-31628
Più imparo, più dubito.
Nelle prove che ho fatto le tabelle del db sono passate da 83 a 84. Immagino fosse la creazione della tabella che dici tu. Mi spaventava il fatto di essere segnalata come Warning.
Adesso andrò a riprovare... Cosa devo aspettarmi? Una tabella nuova vuota o ci mette qualche dato? ...così... per rendermi conto... boh...
Sono un po' turbato/demoralizzato perchè in tutti gli aggiornamenti fatti in precedenza non MAI avuto un problema!!
Lavori in un museo? Credo che Apache 1.3.31 e PHP 4.4.2 ti dà molto più preoccupazioni che Drupal. Mi sa che finchè non aggiorni Apache e PHP devi restare con D6.15 (e senza tanti moduli)...
Più imparo, più dubito.
Si... lavoro in un museo :D
Non sono capace di smanettare su linux... quindi uso l'ultima versione che venne installata su questo server.
Infatti mi serviva ubercart e non lo posso installare finchè non "migro via".
Fino a quel giorno che mi conviene fare?
Ho la versione 6.14 ... la .15 cambia qualcosa? Se così non fosse non sto a perdere altro tempo...
Meglio restare con 6.14 - e trovare un amico che sapia qualcosa di Linux. Ci sarà pura un Linux User Group vicino a te: http://www.linux.it/LUG/
Più imparo, più dubito.
Che humour, che uomo!
:P
Perferisco quello fatto da un altro su 'solo due righe': http://www.drupalitalia.org/node/8818#comment-27239. Bella la battuta...
Più imparo, più dubito.
Io ho risolto creando a mano la tabella sul db:
CREATE TABLE [database].[prefix]semaphore (
`expire` INT NULL ,
`value` INT NULL ,
`name` TEXT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
e navigando un pò nel sito non mi esce più il warning e vengono correttamente fatte delle insert.
Magari poi ci sarà bisogno di aggiungere altri campi, ma al momento questi sono quelli che mi venivano segnalati nel warning.
Ciao chupachups.
Mi sembra un pò troppo hackish come soluzione...
Comunque l'SQL che usa mysqldump (o backup and migrate) è:
CREATE TABLE [database].[prefix]semaphore (
`name` varchar(255) NOT NULL DEFAULT '',
`value` varchar(255) NOT NULL DEFAULT '',
`expire` double NOT NULL,
PRIMARY KEY (`name`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Nota che i tipi delle colonne sono ben diverse, oltre al PK, ecc...
John
Più imparo, più dubito.
Grazie John,
la mia era una soluzione temporanea per non avere il warning nel sito.
Allora ricreo la tabella così come hai postato tu.