kosskren: Комментарии

Главные вкладки

10 ноября в 9:12

Посмотрите эту тему, тут похожая проблема - ссылка
Еще есть модуль, который даст более детальную информацию о проблеме - ссылка
Краткая инструкция к модулю - ссылка

8 ноября в 9:59

Может это совсем банально прозвучит. Но если память не изменяет, свежая установка дурпала по умолчанию включает тему "Stark" для админки и клиентской части. Это тема без стилей почти, выглядит, как будто стили не грузятся)

Посмотрите в админке по адресу /admin/appearance, какая тема выбрана в качестве административной. Выберите тему "Claro" для админки.

Для клиентской части скачайте готовую тему или создайте свою.
Скриншот

30 октября в 22:34

Для замены drupal_goto() посмотрите на этот класс:
Symfony\Component\HttpFoundation\RedirectResponse;

У меня рабочего примера под рукой нет, но думаю контроллер должен возвращать что-то в этом духе:
return new RedirectResponse($url);

30 октября в 12:38

Начиная с друпал 8, подход к работе значительно поменялся. Для объявления URL используется yml файл. Вот тут по ссылке базовый пример, как создать url и обрабатывать его. Я специально убрал все лишнее из модуля, что бы осталась только часть про URL. Пример модуля

30 октября в 12:18

Добрый день.

Вы пишите про сертификацию ФСТЭК для Drupal и Symfony. Можете подробнее рассказать об этом если в теме? Инициализирует сертификацию сам ФСТЭК по собственному графику или допустим я создаю интернет магазин и могу им заявку отправить на сертификацию.

22 октября в 8:43

Может поможет этот репозиторий. Я его давно создал, можно за основу взять. Для добавления php 8.3 или 8.4 сделайте по аналогии, как для php 8.1 сделано.
https://github.com/Konstantin-kr/Docker-WSL2

Вы же devilbox хотите использовать, что бы иметь возможность запускать разные версии служб php, mysql и т.п? Если да, то в докере это и так можно сделать, без сторонних решений.

22 октября в 8:22

Конфиг Ngnix для Drupal. Когда то давно нашел его на drupal.org. В конфиге нужно поменять некоторые вещи:
1. Указать свой домен в server_name.
2. Указать путь к сайту в root
3. Указать путь к соккету в fastcgi_pass. Конкретный путь загуглите, должно быть что-то по типу:
fastcgi_pass unix:/var/run/php8-fpm.sock;

В моем конфиге fastcgi_pass смотрит на контейнер докера.

8 сентября в 22:03

Если картинки не переносили через скрипт, то в файлах ничего нет. Только в базе.
Восстанавливать из бекапа базу не обязательно, можно все, что перенесли так же удалить через функции дурпала. Он тогда и картинки удалит, если переносили.

7 сентября в 14:55
1

"...Я не знаю в каких таблицах где и что хранится и в каком виде. Можно это переносить напрямую из таблицы в таблицу или в Друпал 11 несколько иной формат хранения статей, и т.д...."

Если использовать функции друпала для работы с материалами, то описанные проблемы не важны. Если в гугле вбить "drupal 7 get nodes by type", то ИИ гугла сразу выдает готовый код для получения материалов. Вы же сделали скрипт или скачали и разобрались в нем, тот, который тестирует подключение к базе. Получение и сохранение материалов в друпале не сложнее будет)

7 сентября в 11:33
1

Я бы так делал. Код можно расположить в собственном модуле, в файле ***.theme подцепится на один из хуков, в целом как удобно будет.

1. На сервере, где mysql 8 поднял бы базу от друпал 7. Чуть выше в комментариях я про это описывал.
2. В конфиге settings.php подключаем использование 2 баз. Примерно так:

7 сентября в 8:06

Про папку web имел ввиду вот такую структуру каталогов в папке сайта - скриншот. Если у вас так же, то ngnix нужно указать смотреть в папку web.

"...Про нестандартное название сокета, не поняла..."
Тут мне сложно понять, я с FastPanel не работал. Но там общий принцип для сайтов. В конфигурации ngnix, адрес сокета должен быть такой же, как в конфигурации php-fpm.

6 сентября в 22:46

С чем у вас связано не стандартное название сокета?
--> fastcgi_pass unix:/var/run/test.ru.sock;

У вас в папке домена есть папка "web"? Если да, то настройте, что бы ngnix в нее смотрел. Вот так:
--> set $root_path /var/www/test_xx_usr/data/www/test.ru/web;

Бывают сборки друпала, где содержимое в папке web, а вендорные библиотеки не в ней.

Когда перезапускаете процесс php-fpm, то потом перезапустите ngnix. Почему-то бывает, что ngnix потом не корректно подхватывает php-fpm процесс.

6 сентября в 17:27

Если у вас связка Ngnix + php-fpm, то в конфиги ngnix для вашего сайта укажите, какую версию php использовать. Это делается через "fastcgi_pass", пример:

5 сентября в 17:40

В большинстве случаев проблем не будет при поднятии базы 5.7 версии на 8 версии. Если по шагам:
1. Сделайте дамп базы(экспорт), которая на sql 5.7
2. На сервере, где sql 8 создайте пустую базу и залейте(импорт) в нее созданный дамп
3. Настройте в конфиге друпала, подключение к двум БД (если в коде требуется работать сразу с двумя БД).

3 сентября в 22:11

Наверное у каждого своя методика, кто, как привык Smile
Если про себя рассказать, то для начла надо понять, какую страницу вы хотите ускорить. Затем нужно понять, какие таблицы из базы участвуют в получении информации. Далее нужно понять, по каким столбцам запрашивается инфа из базы (это выражение where в запросе).

Ну вот скажем условная таблица "продукты", в выражении where участвуют 2 столбца - "цена" и "наличие".
Значит можно попробовать добавить составной индекс.

3 сентября в 8:02
1

Мне в свое время очень помогла статья от Niklan, вот ссылка. В ней подробно разбирается тема кеширования.

Вы пишите, что у вас выросла база данных, рассмотрите возможность добавления индексов в базе данных. Они очень сильно сокращают время получения данных.

На одном проекте в базе была таблица с 380 млн. записей. До добавления индексов, время выполнения запросов было от 10 сек до 3 минут в зависимости от запроса. После добавления индексов, время составило от 0.009 сек до 0,23 сек

2 сентября в 17:56

Про вирусы правильно пишут, если есть возможность, то проверьтесь на вирусы. Наверное в таймвебе есть такая услуга.
Еще причина такой нагрузки может быть, если сайт дидосят. На днях у меня такое было. Посмотрите журнал запросов, обычно в названии файла есть это "access.log". В моем случае файл с логами увеличивался по 200 МБ в минуту.

6 июля 2024 в 9:35

Привет.

Надо определится со стратегией кеширования. Что кешировать, когда и на сколько. Как по мне это важнее, чем, что использовать. Если кешировать все подряд, то 20 гигов памяти улетят, не заметите)

Второй момент, надо понимать, когда обновлять кеш, при каких условиях, что бы пользователи видели обновленные страницы.

Что использовать?
memcached, apcu, redis - разницы особой нет, они делают то, что хранят кеш в оперативке. Я обычно redis использую, мне с ним как то удобнее работать.

Zend OPcache - тут хз на сколько прирост будет в скорости.

6 июля 2024 в 9:21

Привет.

Обычно по такой схеме действую, список в порядке важности:

1. Включить логирование медленных запросов к базе (slow_query_log). Время выполнения у запросов (long_query_time) выставить 0.5 для начала. На самом деле тут от специфики сайта зависит. Я обычно начинаю с 0.5, если в лог попадет мало запросов, то уменьшаю время - 0.5, 0.4 и т.д. Если в логе запросов будет очень много, то увеличиваем время, что бы найти самые долгие.
Время выставляется в секундах, 0.5 это пол секунды.

3 мая 2024 в 10:08

На Drupal можно сделать любой магазин, ограничение только в фантазии). Это просто инструмент достижения цели.
Бизнес часто выбирает быстрые решения, так как они более дешевые. Условно установив тот же OpenCart/CS-Cart вы получаете сразу готовый интернет магазин, остается заполнить данные о компании и завести товары. На Drupal согласитесь, процесс посложнее будет).

30 апреля 2024 в 16:54

Приветствую.

Поработал с многими популярными системами, как разработчик. Опишу исключительно мое мнение. Порядок цифр просто для удобства восприятия, это не рейтинг)

1. Opencart.
Очень хороший базовый функционал, великое множество готовых модулей. Модули есть платные, есть бесплатные. Можно без программиста создать очень хороший магазин. У меня был на поддержке магазин с 62 тыс. просмотров в сутки, 3 тыс товаров. Магазин не тормозил.

28 декабря 2023 в 8:27

Не спорю. В идеале все хранить в гите. Но всегда есть "но..."). Поддержка включает в себя не только разработка новых фич, но и банальные правки в админке сайта. скажем цену у товара поменять).
Самим клиентам без разницы, добавлен в гит их сайт или нет. Им главное результат.

Если взять тот же ModX, то там нечего хранить в гите, все правки делаются через админку. Так называемые чанки, шаблоны, сниппеты и плагины хранятся в базе.