Se você atualizou o Magento Connect (<= 1.4.2) ou utiliza uma versão mais atual do Magento (>= 1.5), provavelmente teve problemas ao instalar a extensão Interakting Slider. A seguinte mensagem de erro é mostrada:
CONNECT ERROR: Can’t write to file: /var/www/magento/downloader/.cache/community/BusinessDecision_Interaktingslider-1.0.6/app/code/community/BusinessDecision/Interaktingslider/sql/interaktingslider_setup/mysql4-install-1.0.6.php
Provavelmente você deve ter verificado as permissões das diretórios e arquivos do Magento, principalmente dos diretórios descritos no erro.
De acordo com o site Magenting, “a razão é que a função trabalha com arquivos passando caracteres não-ASCII como nome de arquivo, porém o arquivo não pode ser criado simplesmente devido a restrições do sistema de arquivos em nomes de arquivos.“
A solução consiste em alterar parte do código do Magento Connect em downloader/lib/Mage/Archive/Abstract.php. À partir da linha 43, você visualiza o seguinte código:
1 2 3 4 5 6 7 |
protected function _writeFile($destination, $data) { if(false === file_put_contents($destination, $data)) { throw new Mage_Exception("Can't write to file: " . $destination); } return true; } |
Você irá adicionar uma linha a mais depois da função _writeFile. Ela irá alterar a variável $destination com a ajuda de uma expressão regular:
1 2 3 4 5 6 7 8 9 |
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; } |