iisgiua / giuaschool

giua@school - Il Registro Elettronico open source dell' I.I.S. Michele Giua
https://iisgiua.github.io/giuaschool-docs/
GNU Affero General Public License v3.0
30 stars 18 forks source link

Scarica il file invece di eseguirlo #412

Closed rodolfo024 closed 1 year ago

rodolfo024 commented 1 year ago

Dopo aver scompattando il file "release" nella cartella public_html quando mi collego all'indirizzo /install/index.php mi scarica il file invece di eseguirlo. Stessa cosa se mi collego soltanto a /public. Succede lo stesso anche se svoto la cartella public_html e la ripopolo.

trinko commented 1 year ago

Quale è il tuo hosting? Se non sei su Altervista il problema è probabilmente dovuto ad una impostazione specifica per quell'hosting. In tal caso, modifica il file .htaccess che trovi nella cartella principale ed elimina le righe seguenti:

# attiva PHP 8.0 su Altervista
AddHandler av-php8 .php

Poi controlla anche le impostazioni del tuo hosting per assicurarti che stia usando il PHP 7.4 o successivo.

rodolfo024 commented 1 year ago

No non è altervista. Controllerò. Però prima funzionava…

sempliciniluigi89 commented 1 year ago

@trinko L'hosting è x10hosting , servirebbe che si risolvesse al più presto ,se è possibile

trinko commented 1 year ago

Ho già scritto quella che ritengo sia la soluzione: vedi

trinko commented 1 year ago

Più semplicemente sovrascrivi il file .htaccess con questo allegato: fix.zip

rodolfo024 commented 1 year ago

Il problema dello scaricare i file non succede più, d'altro canto quando provo a effettuare l'aggiornamento del db compare questo errore: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'gs_definizione_richiesta' already exists

trinko commented 1 year ago

Dall'errore riportato mi sembra che tu non stia usando il metodo di aggiornamento automatico indicato in questo annuncio

Se è così, poi ti spiego come saltare i passaggi già effettuati.

rodolfo024 commented 1 year ago

Ho scompattato il file update e messo il sito in manutenzione, però quando vado su /TEMP clicco su "continua" ma l'operazione va in time-out. app_prod-2022-11-04.log

trinko commented 1 year ago

Aspetta: tu avevi già scompattato i file della nuova versione. Quindi devi saltare il passo iniziale. Per andare avanti devi utilizzare il link seguente: http://nome_sito/public/install/update.php?token=XXX&step=2

Devi sostituire XXX con il valore del token che puoi leggere dal file .gs-updating, presente nella cartella principale.

rodolfo024 commented 1 year ago

app_prod-2022-11-04 (1).log Mi sa che nel frattempo ho fatto un po' di casini... XD

trinko commented 1 year ago

Prova lo stesso, se non hai cancellato file dovrebbe funzionare comunque.

rodolfo024 commented 1 year ago

Non c'ho più .gs-updating

rodolfo024 commented 1 year ago

Tra l'altro adesso mi compare l'errore 500...

trinko commented 1 year ago

Gli errori sono normali, perché, se ho capito bene quanto è successo, tu adesso hai il codice aggiornato alla versione 1.5.1 ma il database è ancora alla versione precedente. Questo crea problemi per qualsiasi pagina del registro. Ma l'aggiornamento dovrebbe funzionare lo stesso.

Il file .gs-updating lo puoi ricreare, inserendolo nella cartella principale, perchè contiene solo queste due righe:

version=1.5.1
token=XXX

Sostituisci XX con un numero qualsiasi, che userai anche nell'indirizzo che ho indicato in precedenza

rodolfo024 commented 1 year ago

Adesso compare questo "passo 3" [DELETE FROM gs_colloquio; ALTER TABLE gs_colloquio DROP FOREIGN KEY FK_A42C6DE08EEAC9E6; DROP INDEX IDX_A42C6DE08EEAC9E6 ON gs_colloquio;]

trinko commented 1 year ago

Prova a sostituire, nel file src/install/update-v1.5.1, la riga seguente:

 "DELETE FROM gs_colloquio; ALTER TABLE gs_colloquio DROP FOREIGN KEY FK_A42C6DE08EEAC9E6; DROP INDEX IDX_A42C6DE08EEAC9E6 ON gs_colloquio;",

con

 "DELETE FROM gs_colloquio;",

Poi continua col passo 3.

rodolfo024 commented 1 year ago

Ok. Io adesso ho tre indici nella tabella colloqui.

trinko commented 1 year ago

Dovrebbe esserci solo la chiave primaria e l'indice sulla colonna docente_id. Se puoi, cancella a mano gli altri

rodolfo024 commented 1 year ago

Su docente_id ho questo IDX_A42C6DE094E27525

trinko commented 1 year ago

Si, quello è ok

rodolfo024 commented 1 year ago

Quella su orario_id non me la fa cancellare per un vincolo di chiave esterna

trinko commented 1 year ago

Ok, prova ad inserire questi comandi SQL (nella finestra SQL di MyPhpAdmin):

SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE gs_colloquio DROP FOREIGN KEY FK_A42C6DE08EEAC9E6; 
DROP INDEX IDX_A42C6DE08EEAC9E6 ON gs_colloquio;
SET FOREIGN_KEY_CHECKS = 1;
rodolfo024 commented 1 year ago

1091 - Impossibile cancellare (DROP FOREIGN KEY) FK_A42C6DE08EEAC9E6. Controllare che il campo chiave esista.

trinko commented 1 year ago

Forse era già cancellata, prova a cancellare solo l'indice: Ok, prova ad inserire questi comandi SQL (nella finestra SQL di MyPhpAdmin):

SET FOREIGN_KEY_CHECKS = 0;
DROP INDEX IDX_A42C6DE08EEAC9E6 ON gs_colloquio;
SET FOREIGN_KEY_CHECKS = 1;
rodolfo024 commented 1 year ago

Niente lo stesso... però mi sembra che comunque funzioni.