Ris

Ris

+657
Репутация
3771
Рейтинг
#1 Очистка upload по cron 20 сентября 2019 в 21:55

Насколько понимаю в отличии от чистильщика от Ris, должна быть меньше нагрузка на сервер.

Rainbow
Увы, чуда не произошло.
Сделал на тестовом сервере копию рабочего сайта. Страртанул скрипт. Четыре минуты думало. Точно также заткнулось на большой таблице в миллион строк.
[root@****** public_html]# /usr/bin/perl /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
DBD::mysql::st execute failed: MySQL server has gone away at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 80, <CONF> line 71.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at /home/******/web/sub.******.ru/public_html/upload/cron_cleaner.pl.php line 81, <CONF> line 71.
ok
[root@****** public_html]#
#2 Очистка upload по cron 20 сентября 2019 в 15:07

не не, вы тестовый режим выключили? :)

@fazer
Выключил, файлы удалились.
Появилось четыре текстовых файла с логами. Из консоли всё работает хорошо.

С хроном всё хуже...
Cron <******@******> root /usr/bin/perl /home/******/web/******.ru/public_html/upload/cron_cleaner.pl.php >> /var/log/syslog 2>&1
/bin/sh: /var/log/syslog: Permission denied
#3 Очистка upload по cron 20 сентября 2019 в 14:41
Загрузил в комментариях несколько картинок, но добавлять сами комментарии не стал. Повисло несколько ненужных файлов.
/usr/bin/perl /home/******/web/******.ru/public_html/upload/cron_cleaner.pl.php
ok

Скрипт отработал. Увы, специально созданные ненужные файлы остались на месте...

проверьте пожалуйста, перезалил cron_cleaner_v2.zip

@fazer
Не помогло.
#4 Очистка upload по cron 20 сентября 2019 в 14:09
/usr/bin/perl /home/******/web/******.ru/public_html/upload/cron_cleaner.pl.php
Can't locate DB_File.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/******/web/******.ru/public_html/upload/cron_cleaner.pl.php line 23.
BEGIN failed--compilation aborted at /home/******/web/******.ru/public_html/upload/cron_cleaner.pl.php line 23.
#5 Очистка upload по cron 20 сентября 2019 в 13:18

yum install libdbi-perl libdbd-mysql-perl
ну или как у вас там на серваке

@fazer
У меня на серваке так:
No package libdbi-perl available.
No package libdbd-mysql-perl available.
Error: Nothing to do
#6 Набор типа контента "Новости за сегодня". Возможно ли? 19 сентября 2019 в 23:37
Алексей Тимофеев,
Вот эта штука
/blogs/zapiski-dinozavra/komponent-dlja-manipuljaci-filtraciei-i-sortirovkoi-v-datasetah.html
решает ваши проблемы добавлением в My conditions строки date_pub = CURDATE()
#7 [ЕСТЬ РЕШЕНИЕ] PHP код через модуль 18 сентября 2019 в 16:36

Есть ли какое то простое решение, что через обычный модуль вставить код PHP

gen
Для второй ветки я такой виджет тут где-то видел. Во второй ветке это возможно, просто взять текст из базы данных и запустить его в виджете.
Но в первой ветке используется специальный шаблонизатор Smarty. На первой ветке php код прямо в модуле запустить нельзя.
#8 Фильтр "ИЛИ" в наборах 18 сентября 2019 в 15:53
vladimird,
Спасибо!
Сделал компонент, добавляющий этот функционал без правки системных файлов:
/blogs/zapiski-dinozavra/komponent-dlja-manipuljaci-filtraciei-i-sortirovkoi-v-datasetah.html
#9 Рейтинг и репутация 16 сентября 2019 в 21:53

Если фильтр "Рейтинг", так пусть и будет фильтрация по рейтингу, как убрать фильтрацию по репутации?

Vladimir
Файл \system\controllers\users\frontend.php строка приблизительно 318
  1. 'order' => array('karma desc, rating desc', '')
заменить на
  1. 'order' => array('rating desc', '')
#10 Проблемы со сменой темы 15 сентября 2019 в 22:07
@rshabalin,
Так написано же про наличие прав доступа.
Читайте тут: losst.ru/prava-dostupa-k-fajlam-v-linux
Это для общего развития. Но это Вам никак не поможет. Похоже у Вас шаред хостинг.
Пишите в техподдержку хостера, они скажут, какую папку указывать.
#11 [ЕСТЬ РЕШЕНИЕ] Не могу зайти в админку после смены версии PHP 13 сентября 2019 в 16:47
Александр,
Так что на экране при заходе yoursite.ru/admin?
#12 [ЕСТЬ РЕШЕНИЕ] Не могу зайти в админку после смены версии PHP 13 сентября 2019 в 14:15

Не могу зайти в админку

Александр
Надо себя заставить!
Найдите файл \system\config\config.php
В нем найдите строку
  1. 'debug' => NULL,
И вместо NULL напишите цифру 1
Ошибки сюда.
#13 [ЕСТЬ РЕШЕНИЕ] Ошибка в запросе БД: Таблица 'plato198_centr.cms_con__fields' не существует 13 сентября 2019 в 10:29
@kami,
Куда-то не передается имя типа контента.
Потому что вместо cms_con__fields должно быть например cms_con_articles_fields
Вспоминайте, не вносили ли изменений в код, пробуйте отключать сторонние приложения.
#14 Как настроить постоянный онлайн у пользователя? 11 сентября 2019 в 19:23
@Milyana,
Для какой версии движка?
#15 Оптимизирвоать запросы к базе 11 сентября 2019 в 13:31

Честно говоря, я вообще не понимаю куда копать.

ermakover

Хостер пока мягко, но настоятельно посоветовал оптимизировать запросы к базе.

ermakover
Отказаться от шаред хостинга и купить самый дешевый VPS (есть випиэсы за один евро в месяц). Там уже можно будет самому поиграться с my.ini
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.