Visualizzazione risultati 1 fino 5 di 5

Discussione: sqlite extension non piu' abilitata con php 7.6

  1. #1
    modlist non è connesso Neofita
    Data registrazione
    25-01-2015
    Messaggi
    2

    Predefinito sqlite extension non piu' abilitata con php 7.6

    Ho recentemente scoperto che sqlite pdo extension non e' piu' abilitata con php 7
    sarebbe possibile riabilitarla?
    Ho un paio di siti non piu' funzionanti
    esempio:
    https://modlist.altervista.org/mmh/
    https://modlist.altervista.org/morrowind/

    e riscriverli per compatibilita' con php 8 e' per me troppo oneroso,
    mi vedrei probabilmente costretto a cambiare server
    Ultima modifica di modlist : 05-03-2026 alle ore 18.24.11

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,369

    Predefinito

    Su PHP8, sqlite è regolarmente funzionante.
    Ho testato anche con PHP8.4 questo esempio che crea un db, scrive e legge correttamente.
    Codice PHP:
    <doctype html>
    <head>
    <title> test PDO sqlite</title>
    </head>
    <body>
    <?php
    try {
    $db = new PDO('sqlite:test_database.db');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->exec("CREATE TABLE IF NOT EXISTS test (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT
    )"
    );
    $db->exec("INSERT INTO test (name) VALUES ('Funziona!')");
    $stmt = $db->query("SELECT * FROM test");
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

    echo
    "Letto:";
    echo
    "<p>";
    print_r($result);
    echo
    "</p>";

    } catch (
    PDOException $e) {
    echo
    "Errore: " . $e->getMessage();
    }
    ?>
    </body>
    </html>
    Puoi verificare le librerie attive con phpinfo()

    Per completezza, il modulo sqlite è stato disattivato su PHP5.6 e 7.3 per ragioni di sicurezza. La soluzione è quindi aggiornare a PHP8 o successivi, dove il modulo rimane supportato.

    Ciao!
    Ultima modifica di alemoppo : 05-03-2026 alle ore 19.59.24

  3. #3
    modlist non è connesso Neofita
    Data registrazione
    25-01-2015
    Messaggi
    2

    Predefinito

    Ok, si' php 7.3, ad ogni modo il problema e' la versione principale.
    La versione 8 ha deprecato un disastro di cose e, ripeto, cambiare tutto il codice non e' un'opzione per me al momento.
    Quello che non capisco e' come fa php 8 a essere "piu sicuro" con sqlite di php 7, secondo me o disabiliti sqlite anche con la versione 8 o non ha molto senso.

    Peccato, mi trovavo bene qui.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,369

    Predefinito

    Non ho modo di darti questi dettagli tecnici, ma immagino che siano implementazioni differenti rispetto alle varie versioni PHP.

    Chiaramente puoi anche cercare un hosting che supporti ancora PHP7.3, ma prima o poi diventerà obsoleto ovunque in quanto uscito esattamente 7 anni fa.
    Ti consiglio in ogni caso di pensare ad implementare il sito con PHP8.x.

    Ciao!

  5. #5
    nextage non è connesso Utente giovane
    Data registrazione
    03-05-2005
    Messaggi
    41

    Predefinito

    Aggiornare un sito da vecchie versioni di php (perchè su altervista si può utilizzare ancora php5) a php8 (e ancora peggio le versioni 8.2 e 8.4 - che hanno reso obsoleti metodi che non hanno un sostituto diretto, ma richiede di reimplementare feature) è un lavoro che richiede tempo.
    Anche io mi sono ritrovato il sito non più funzionante. Alcune parti di codice sono state create quando ancora c'era php4, e migrate a php5. Per farle andare con php8 ci vuole molto lavoro. Anche solo il fatto che fino a php5 (prime versioni, ma tenuto come funzionante nella 5.6) il costruttore delle classi si facesse con una funzione che si chiamasse con lo stesso nome della classe e poi sia diventata la funzione __construct è un grosso problema di sistemazione (poi se il passaggio viene fatto andando a php7 almeno viene dato l'alert, passando a php8 non viene chiamato il costruttore senza avvisi e si spacca tutto il codice e si deve provare a far girare tutte le funzioni del sistema per trovare i vari punti).

    Legittimo che voi possiate decidere di togliere il supporto, anche a intere versioni di php. Ma va data una comunicazione ai proprietari dei siti con congruo anticipo in modo che possano aggiornare il loro codice per funzionare con le versioni presenti (comunicazione via mail, perchè se pubblicata nel portale di admin, il proprietario non entra tutti i giorni a controllarlo - cosa che comunque non è stata fatta per la rimozione del supporto sqlite nelle versioni 5 e 7).
    Già in passato quando avete tolto il supporto alla versione di php 5.3, facendo passare i siti che l'avevano a quella 5.6 ho dovuto fare la maratona a sistemare il sito il giorno stesso in cui me ne sono accordo (e questo non è detto che succeda subito il giorno in cui fate la modifica).
    Della rimozione del supporto sqlite me ne sono accorto ieri per miracolo, ma mi ha imposto di fare modifiche pesanti a tutti i sistemi in poco tempo per poter almeno vedere il sito (senza però garanzie che non ci siano punti che si spaccano).
    Aggiungerei anche che fare queste modifiche "spaccando" i siti hostati è un rischio per la sicurezza (dal mio punto di vista peggiore di quello che avete rilevato per sqlite) per tutto il vostro sistema, perchè i sito possono iniziare a dare messaggi parlanti degli errori, con percorsi completi dei file php degli utenti. Un malintenzionato "capace" da quelli potrebbe carpire informazioni del sito (tipo il motore che è stato usato, cosa che spesso non è chiara - salvo usare wordpress e joomla che sono riconoscibilissimi), e sfruttare eventuali falle dei motori conosciute per danneggiare il sito e magari anche l'hosting.
    Ultima modifica di nextage : Ieri alle ore 12.14.23

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •