У меня возникли проблемы с установкой расширений с помощью magento connect. Когда я начинаю устанавливать расширение, контур терминала записывает что-то вроде этого:
Проверка зависимостей пакетов Установка сообщества пакетов / OrganicInternet_SimpleConfigurableProducts 0.7.4
- Программно создавая CMS / страницу в Magento
- Минимизировать базу данных, чтобы экспортировать все продукты Magento
- Magento - Как запросить имя роли администратора?
- Контролируйте количество результатов вызова API Magento
- Установить валюту магазина на основе страны-клиента
- Получить категории детей magento
CONNECT ERROR: Не удалось открыть файл /var/www/magento/downloader/.cache/community/OrganicInternet_SimpleConfigurableProducts-0.7.4/app/code/community/OrganicInternet/SimpleConfigurableProducts/Catalog/Model/Product/Type/Configurabl
Я проверил путь, и я нашел запрошенный файл. Поскольку вы можете видеть, что разрешения должны быть точными 😉
drwxrwxrwx 2 www-data www-data 4.0K 3 ноября 11:10 Конфигурация
Я понятия не имею, что делать. Я использую PHP 5.5.4-1 – так что все должно быть хорошо.
Вы знаете, что делать?
Ошибка в этом случае исходит из модема безопасности php, который проверяет файлы при загрузке. Кажется, что в одном из извлеченных файлов из пакета есть некоторые символы не-ascii, и как только он встречается с ними, он останавливает обработку файла, поэтому «Configurabl» прерван.
Что вам нужно сделать, чтобы пройти эту ошибку, либо отрегулируйте настройки вашего режима безопасности для пользователей, но, скорее всего, у вас нет доступа к этому. Другой вариант – загрузить пакет другим способом (в этом случае он доступен в Github по адресу https://github.com/organicinternet/magento-configurable-simple ), извлеките его и загрузите файлы через FTP.
Идти
Загрузчик \ Lib \ Mage \ Archive \ Tar.php
найти метод
_extractFileHeader().
Затем найдите ближайшую строку кода 563:
if (!($header['name'] == '././@LongLink' && $header['type'] == 'L')) { $header['name'] = trim($header['name']); return $header; }
И замените его на:
if (!(trim($header['name']) == '././@LongLink' && $header['type'] == 'L')) { $header['name'] = trim($header['name']); return $header; }
См. На dev. комментарий: введите ссылку здесь.
Добро пожаловать в тиранию оператора управления ошибками PHP . Где тиранией я имею в виду незначительную досаду в великой схеме вещей.
Все эти ошибки консоли управляются исключениями. Если вы ищете источник Magento Connect в downloader
, вы найдете текст исключения
Не удалось открыть файл
используется только в трех местах
$ ack 'Failed to open file' lib/Mage/Archive/Helper/File/Bz.php 47: throw new Mage_Exception('Failed to open file ' . $this->_filePath); lib/Mage/Archive/Helper/File/Gz.php 44: throw new Mage_Exception('Failed to open file ' . $this->_filePath); lib/Mage/Archive/Helper/File.php 190: throw new Mage_Exception('Failed to open file ' . $this->_filePath);
Если вы посмотрите на каждое из этих мест, вы увидите аналогичную модель
protected function _open($mode) { $this->_fileHandler = @bzopen($this->_filePath, $mode); if (false === $this->_fileHandler) { throw new Mage_Exception('Failed to open file ' . $this->_filePath); } } protected function _open($mode) { $this->_fileHandler = @fopen($this->_filePath, $mode); if (false === $this->_fileHandler) { throw new Mage_Exception('Failed to open file ' . $this->_filePath); } } protected function _open($mode) { $this->_fileHandler = @gzopen($this->_filePath, $mode); if (false === $this->_fileHandler) { throw new Mage_Exception('Failed to open file ' . $this->_filePath); } }
Разработчики, которые создали Magento Connect, использовали оператор @
для подавления реальных ошибок PHP, которые испускаются из gzopen
, fopen
и bzopen
.
Если бы я был в вашей ситуации, я бы временно отредактировал эти файлы, чтобы удалить оператор @
из этих вызовов функций, а затем проверить мои журналы ошибок / вывода браузера, чтобы узнать, почему PHP не хотел открывать эти файлы.
Проверьте владельца и разрешения /var/www/magento/downloader/
. Если у вас есть доступ к SSH / командной строке, вы можете установить расширение, например, из корня вашей установки Magento следующим образом:
./mage install http://connect20.magentocommerce.com/community OrganicInternet_SimpleConfigurableProducts
Если вы получаете какие-либо ошибки разрешения на запуск mage
измените разрешения на 755 с помощью chmod 755 mage
(или sudo chmod 755 mage
).
Фактическая проблема здесь заключается в том, что Magento Connect имеет проблему при использовании php 5.5 – его длина пути, только начинается, как только я обновляюсь до 5.5 на этой неделе. – если это ваша проблема (проверьте свою версию php), у вас есть 2 варианта: вы можете установить расширение вручную или понизить версию вашего php.
У меня недостаточно очков, чтобы проголосовать за ответ, но я подумал, что лучше всего сообщить людям, что решение TRIM в ravi patel решило мою проблему.
просто измените права доступа к файлам. index.php, чтобы дать 644