Magento 1, CONNECT ERROR: Can’t write to file

Reading Time: < 1 minuteFavoriteLoadingAggiungi ai preferiti

Se state leggendo questo articolo è probabilmente perchè in Magento 1, avete riscontrato l’errore CONNECT ERROR: Can’t write to file

Quesrto errore può verificarsi all’installazione di un pacchetto e il messaggio, nel dettaglio, può essere il seguente

CONNECT ERROR: Can't write to file: downloader/.cache/community/BusinessDecision_Interaktingslider-1.0.6/app/code/community/BusinessDecision/Interaktingslider/sql/interaktingslider_setup/mysql4-install-1.0.6.php

Una possibile soluzione è

  • aprire il file downloader/lib/Mage/Archive/Abstract.php
  • aggiungere alla funzione
    protected function _writeFile($destination, $data) lo strip dei caratteri ascii in questo modo
$destination = preg_replace('/[^(\x20-\x7F)]*/','', $destination);

la nuova funzione sarà

protected function _writeFile($destination, $data)
    {
        $destination = preg_replace('/[^(\x20-\x7F)]*/','', $destination);
         
        if(false === file_put_contents($destination, $data)) {
            throw new Mage_Exception("Can't write to file: " . $destination);
        }
        return true;
    }