Visualizzazione risultati 1 fino 10 di 10

Discussione: Errore phpBB

  1. #1
    elicotteristivirtuali non è connesso Utente Blog
    Data registrazione
    22-12-2024
    Messaggi
    6

    Predefinito Errore phpBB

    Salve ricevo questo errore su forum PHPBB appena installato.

    [phpBB Debug] PHP Warning: in file [ROOT]/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php on line 60: Undefined variable $exitStatus

    Avviene quando si va in creazione nuovo topic o in rispota a uno esistente e la toolbar del BBCode per cambiare carattere non funziona

    Mi sapreste indicare cosa fare ?

    Grazie

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

    Predefinito

    Quale versione di PHP stai utilizzando? (puoi vederla/impostarla qui). Prova ad impostare php8.2 se non è impostata.

    Ciao!

  3. #3
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,418

    Predefinito

    Salve,
    oltre a quanto menzionato da alemoppo, aggiungo che quel messaggio mi da a pensare ad un problema esterno a phpBB, ovvero derivante da qualche modfica successiva all'installazione. In ogni caso, non è un errore ma un warning.

    Dopo aver installato phpBB ha installato qualche extensione o eseguito qualche modifica manuale nei file?

    Per il messaggio, trattandosi di un warning legato al debug di phpBB abilitato, si può toglierlo/nasconderlo semplicemnte disattivando.

    Apra il file config.php e cerchi:
    Codice PHP:
    @define('PHPBB_INSTALLED', true);
    qualche riga sotto, dovrebbe esserci:
    Codice PHP:
    // @define('DEBUG', true);
    che di default è commentato.

    quindi lo decommenti (se non lo è già) e lo valorizzi come false:
    Codice PHP:
    @define('DEBUG', false);
    Per finire, svuoti la cache di phpBB. Faccio presente (nel caso non lo si ricordi), che questa operazione è necessaria (alla fine di ogni modifica manuale) per rendere effettive le modifche apportare nei file di phpBB.

    Citazione Originalmente inviato da elicotteristivirtuali Visualizza messaggio
    e la toolbar del BBCode per cambiare carattere non funziona
    Qui mi sembra una problematica di altra origine.

    Reimpostando il tema base (prosilver) il prblema persiste?

    Ad ongi modo, cerchiamo se possibile, di gestire un problema alla volta.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 27-12-2024 alle ore 05.23.42

  4. #4
    elicotteristivirtuali non è connesso Utente Blog
    Data registrazione
    22-12-2024
    Messaggi
    6

    Predefinito

    Buongiorno grazie delle veloci risposte.

    Confermo che il PHP è il 8.2

    Ho anche decommentato il codice sopra consigliato , ma l'errore/warning compare ancora.

    Non ho idea se qualcosa ha cambiato i file ma avevo anche reinstallato da zero phpBB appena comparso il problema , pensando fosse stato qualche plugin a crearlo, ma il problema è presente .

    Di plugin ne avevo installati un paio e sembravano andare: Al momento ho una installazione senza plugin. ho rimosso tutto.

    Il non funzionamento della tool bar sembra legato al messaggio di warning, ovvero non va in fase di editing di nuovo mex o risposta ad uno esistente e in quel momento compare il messaggio di warning.

    ho anche notato che il warning compare anche quando da pannello admin ad esempio clicco su qualsiasi menu CONTENUTI/ALLEGATI

    Confermo infine che il problema si presenta anche con lo stile di default.

    grazie del vs aiuto

  5. #5
    elicotteristivirtuali non è connesso Utente Blog
    Data registrazione
    22-12-2024
    Messaggi
    6

    Predefinito

    UPDATE: Il problema delle icone era dato dal template , che ho rimosso e reinstallato. Strano che faceva lo stesso anche con quelli di default

    La scritta in alto invece persiste
    Citazione Originalmente inviato da elicotteristivirtuali Visualizza messaggio
    [phpBB Debug] PHP Warning: in file [ROOT]/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php on line 60: Undefined variable $exitStatus

    nonostante ho impostato @define('DEBUG', false); a false come suggerito

    Ma ho notato che ciò avviene anche su una installazione pulita. sembra essere un problema comune (?)
    Ultima modifica di elicotteristivirtuali : 27-12-2024 alle ore 15.43.16

  6. #6
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,418

    Predefinito

    Citazione Originalmente inviato da elicotteristivirtuali Visualizza messaggio
    UPDATE: Il problema delle icone era dato dal template , che ho rimosso e reinstallato. Strano che faceva lo stesso anche con quelli di default
    Mi sembra un problama di cache.

    Citazione Originalmente inviato da elicotteristivirtuali Visualizza messaggio
    nonostante ho impostato @define('DEBUG', false); a false come suggerito

    Ma ho notato che ciò avviene anche su una installazione pulita. sembra essere un problema comune (?)
    Cercando nel web, a detta di alcuni, potrebbe dipendere da alcune restrizioni di PHP 8.2.x. Non ho però fatto prove di verfica in tal senso.

    Provi a verificare se persiste anche impostando le versioni precedenti di PHP (8.0 e poi 7.3). Giusto per capire.

    La soluzione effettiva, sarebbe di controllare il file FileBinaryMimeTypeGuesser.php alla linea 60 e vedere se la variabile $exitStatus è stata dichiarata prima di essere usata. E nel caso che non lo sia, dichiarla prima dell'uso.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 27-12-2024 alle ore 16.47.32

  7. #7
    elicotteristivirtuali non è connesso Utente Blog
    Data registrazione
    22-12-2024
    Messaggi
    6

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Mi sembra un problama di cache.


    Cercando nel web, a detta di alcuni, potrebbe dipendere da alcune restrizioni di PHP 8.2.x. Non ho però fatto prove di verfica in tal senso.

    Provi a verificare se persiste anche impostando le versioni precedenti di PHP (8.0 e poi 7.3). Giusto per capire.

    La soluzione effettiva, sarebbe di controllare il file FileBinaryMimeTypeGuesser.php alla linea 60 e vedere se la variabile $exitStatus è stata dichiarata prima di essere usata. E nel caso che non lo sia, dichiarla prima dell'uso.

    Cordiali saluti.
    Si avviene anche con php8.0 e 7.5

    Allego il contenuto del file, ma non so come andrebbe modificato.

    Codice:
    <?php
    
    /*
     * This file is part of the Symfony package.
     *
     * (c) Fabien Potencier <fabien@symfony.com>
     *
     * For the full copyright and license information, please view the LICENSE
     * file that was distributed with this source code.
     */
    
    namespace Symfony\Component\HttpFoundation\File\MimeType;
    
    use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException;
    use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
    
    /**
     * Guesses the mime type with the binary "file" (only available on *nix).
     *
     * @author Bernhard Schussek <bschussek@gmail.com>
     */
    class FileBinaryMimeTypeGuesser implements MimeTypeGuesserInterface
    {
        private $cmd;
    
        /**
         * The $cmd pattern must contain a "%s" string that will be replaced
         * with the file name to guess.
         *
         * The command output must start with the mime type of the file.
         *
         * @param string $cmd The command to run to get the mime type of a file
         */
        public function __construct($cmd = 'file -b --mime -- %s 2>/dev/null')
        {
            $this->cmd = $cmd;
        }
    
        /**
         * Returns whether this guesser is supported on the current OS.
         *
         * @return bool
         */
        public static function isSupported()
        {
            static $supported = null;
    
            if (null !== $supported) {
                return $supported;
            }
    
            if ('\\' === \DIRECTORY_SEPARATOR || !\function_exists('passthru') || !\function_exists('escapeshellarg')) {
                return $supported = false;
            }
    
            ob_start();
            passthru('command -v file', $exitStatus);
            $binPath = trim(ob_get_clean());
    
            return $supported = 0 === $exitStatus && '' !== $binPath;
        }
    
        /**
         * {@inheritdoc}
         */
        public function guess($path)
        {
            if (!is_file($path)) {
                throw new FileNotFoundException($path);
            }
    
            if (!is_readable($path)) {
                throw new AccessDeniedException($path);
            }
    
            if (!self::isSupported()) {
                return null;
            }
    
            ob_start();
    
            // need to use --mime instead of -i. see #6641
            passthru(sprintf($this->cmd, escapeshellarg((0 === strpos($path, '-') ? './' : '').$path)), $return);
            if ($return > 0) {
                ob_end_clean();
    
                return null;
            }
    
            $type = trim(ob_get_clean());
    
            if (!preg_match('#^([a-z0-9\-]+/[a-z0-9\-\+\.]+)#i', $type, $match)) {
                // it's not a type, but an error message
                return null;
            }
    
            return $match[1];
        }
    }

  8. #8
    elicotteristivirtuali non è connesso Utente Blog
    Data registrazione
    22-12-2024
    Messaggi
    6

    Predefinito

    Ho cercato su internet e ho aggiunto
    questa parte , l'errore sembra sparito

    public static function isSupported()
    {
    static $supported = null;
    static $exitStatus = null; /** aggiunto questo **/

  9. #9
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,418

    Predefinito

    Sì, dal codice (mostrato e che avevo controllato nel frattempo scaricando lo zip), ha senso che il messaggio non appaia più avendo aggiunto quella riga. Visto che il warning era generato appunto dalla mancata dichiarazione della variabile indicata.

    Pare dunque che sia una dimenticanza degli sviluppatori in phpBB 3.3.14.

    Quello che non mi è però chiaro, come mai risulti di default attivo il debag di phpBB (evidenziato da [phpBB Debug] nel messaggio). Di default non dovrebbe essere attivo.

    Comunque direi che il problema è risolto.

    Per alemoppo:
    Visto che si tratta una problematica in cui probabilmente s'imbatteranno anche altri utenti, sarebbe possibile mettere in evidenza questa discussione?

    Cordiali saluti.

  10. #10
    elicotteristivirtuali non è connesso Utente Blog
    Data registrazione
    22-12-2024
    Messaggi
    6

    Predefinito

    Grazie del vs aiuto .
    Per info ho rimesso anche PHP8.2 e tutto continua a funzionare.

    Buon Anno

Regole di scrittura

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