#magento #upgrade #php
#magento #Обновление #php
Вопрос:
После обновления magento с 1.5.1 до 1.6.1 по ssh я получаю следующую ошибку:
Fatal error: Out of memory (allocated 41418752) (tried to allocate 24768513 bytes) in /home/username/public_html/downloader/lib/Mage/Archive/Abstract.php on line 45
Я отредактировал свой php.ini, чтобы:
max_execution_time = 18000
max_input_time = 6000
memory_limit = 256M
У кого-нибудь есть идея, как решить эту проблему?
После попыток и поиска в течение целого дня это становится довольно неприятным.
Любая помощь была бы очень признательна!
Спасибо
Комментарии:
1. И вы получаете ту же ошибку, что и до изменений? Если это так, попробуйте создать свой
memory_limit
в.htaccess
файле Magento вместоphp.ini
. В стандартном Magento.htaccess
значение перезапишет значение, которое вы установили вphp.ini
.2. Когда я меняю memorylimit в файле .htaccess, я по-прежнему получаю ту же ошибку. Достаточно странно, что файл .htaccess также сбрасывается после выполнения обновления??? Итак, когда я увеличиваю файл .htaccess до 512m, он сбрасывается обратно к старым значениям после выполнения обновления.
3. Я не знал, что вы пытаетесь обновить PEAR способом. Никогда не делал этого сам. Хм, глядя на
./mage
сценарий оболочки, я бы сказал, что должно произойти изменениеmemory_limit
вphp.ini
том, дляMAGE_PHP_BIN
чего вы установили. Или настройка-d memory_limit="512M"
вexec
строке сценария оболочки.
Ответ №1:
Вы редактируете неправильный файл php.ini.
(tried to allocate 24768513 bytes)
24768513 байт — это примерно 24188 KB
, то есть около 23 MB
. Ваши изменения не видны.
Временно добавьте вызов в
phpinfo();
exit;
в начало любого PHP-файла является вашей основной точкой входа. Это index.php
для веб-контекста, mage.php
для контекста Magento Connect.
Это сообщит вам, какие php.ini
файлы использует PHP, а также каковы значения времени выполнения для всех флагов ini. Отредактируйте вместо этого этот файл.
Если вы не можете отредактировать этот файл, используйте функцию ini_set для установки значения во время выполнения.
Комментарии:
1. Хорошо, это выходит далеко за рамки моих знаний :-(. В index.php и mage.php отсутствует строка php.ini. Но спасибо, что нашли время ответить на мой вопрос ;-). Возможно, обновить magento не так просто, как я думал?
2. Вам нужно добавить phpinfo(); в файл index.php и тогда вы увидите на любой странице вашего сайта, какой из php.ini был использован. Не пытайтесь искать строку php.ini в mage.php 😉
Ответ №2:
Не могли бы вы, пожалуйста, предоставить информацию о том, что конкретно вы сделали? (Шаг за шагом)
Я думаю, вам нужно изменить php.ini на:
memory_limit = 512M
Поскольку вы видите сообщение о том, что
(allocated 41418752) (tried to allocate 24768513 bytes)
В чем причина обновления по ssh?
Есть ли другие случаи обновления magento?
Комментарии:
1. Честно говоря, я понятия не имею, как обновить иначе:-/ Вот что я делаю: я захожу в систему по ssh -p 4000 username@31.186.169.4 Затем я захожу на общедоступный HTML-диск public_html, меняю права на запись: chmod 700 ./mage Я устанавливаю обновление: ./mage install community Mage_All_Latest