Ошибка 500 при обновлении и установки плагинов Есть решение
Добрый день! Сегодня столкнулся с проблемой, которая возникла после переноса Webasyst 7 на новый хостинг. Все работает исправно, за исключением обновления и установки новых плагинов.
Вылетает 500 ошибка (или белая страница в сафари), когда я хочу обновить плагин, либо когда я пытаюсь установить новый. Права доступа вроде бы верно настроены. С включенными ошибками выдает следующее:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 77 bytes) in /var/www/www-root/data/www/#######/wa-installer/lib/classes/wainstaller.class.php on line 1621
В настройках php сервера стоит memory_limit 128M (увеличил до 512), подкладывал в данную директорию php.ini с 512М, после этого сообщение стало Fatal error: Allowed memory size of 534217728 bytes exhausted (tried to allocate 72 bytes) in /var/www/www-root/data/www/#######/wa-installer/lib/classes/wainstaller.class.php on line 1621
Подскажите, пожалуйста, в каком направлении продолжать поиски?
11 ответов
Вы все правильно делаете
попробуйте еще увеличить объем памяти до 1024
но жалуется именно на нее
В настройках рhp установил 1024М
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 81 bytes) in /var/www/www-root/data/www/######/wa-installer/lib/classes/wainstaller.class.php on line 1621
Вы обновляете плагины по одному (на каком плагине это происходит)? или всем скопом (сколько примерно обновлений ставится)?
Настолько большого потребления памяти не должно быть в принципе.
Проверьте директории wa-apps на предмет посторонних файлов или симлинков на самих себя.
P.S. Изменение настроек у вас не помогло: лимит остался в 512Мб
загружаю один плагин, последний " Яндекс.Маркет (CPC, CPA)»"
антивирус проверяет содержимое диска каждую ночь, сейчас еще раз принудительно проверил только эту директорию - вирусов нет. В корне wa-apps лежит: blog, contacts, installer, photos, shop, site. В папках примерно одинаковое содержимое: css, img, js, lib, locate, templates, .files.md5 .
Симилинки (ссылки) я же могу увидеть через веб ftp? Не наблюдаю их...
UPDATE: сейчас зашел в инсталлер в административной части, нажал "установлено" и ткнул в ИНСТАЛЛЕР webasyst - пишет "приложение не найдено". Все другие приложения открываются нормально.
на этом же сервере, но в другой web папке развернул новый webasyst framework, инсталлер работает без каких либо проблем...
Если только в директории плагина что-то постороннее и очень тяжелое лежит (архив с бекапом случайно или что-то еще), других предположений нет %)
Распаковщик архивов оптимизирован (утечек памяти нет даже на очень больших архивах), но вряд ли дело в этом: архив с плагином маленький - всего ~100КБ.
"приложение не найдено" - это инсталлер не нашел описание себя как приложения на сервере обновлений (потому как его по сути и нету)
смотреть директорию wa-apps ?
Еще один UPDATE:
заменил на тестовом поддомене все папки, за исключением wa-sources и wa-config (в wa-config исключил только файл db.php т.к создал аналогичную БД но с другим названием, все остальное содержимое перезалил) - инсталлер на поддомене работает исправно.
Не могу перезалить и удалить только wa-sources на тестовом поддомене, но судя по всему проблема где-то в нем.
Есть решение - никаких вирусов, симлинков и прочего нет. Проблему нашел спустя сутки, ... путем установки "чистой версии".
При новой установке, владельцем основных папок является apache, при переносе со старого хостинга на новый, владельцем является аккаунт с которого выполнялся перенос (хотя и содержимое переносилось архивом с сохранением всех прав).
По аналогии выставил владельцев директорий и файлов как они расставились при установке новой версии фреймоворка на поддомене и все после этого все заработало.
Не знаю какой он процесс пытался запустить, что не хватало памяти - но сейчас все обновляется и нормально работает.
Спасибо, помогли!
Была такая же проблема.
Повышение лимитов не помогало - сменил владельца на папку с доменом и все вложенные папки и файлы на пользователя под которым веб-сервер работает - инсталлер заработал.