• Как преобразовать дамп БД MariaDB 10.5 в MySQL 8?

    @vitaly_il1
    DevOps Consulting
    - Я советую остаться с MariaDB. Понятно, что можно разобраться и подрихтовать дампы вручную (вряд ли автоматичес ки), но зачем?
    - Или же создать новый дамп с ключом "--compatible=mysql" https://mariadb.com/kb/en/mariadb-dumpmysqldump/#m...
    Ответ написан
    3 комментария
  • Как сделать копию базы (структуру и данные) с сервера MySQL 5.6 на сервере MySQL 8.0?

    Melkij
    @Melkij
    PostgreSQL DBA
    Это вы что-то странное прочитали.
    С некоторыми приключениями вокруг --compatible и другими граблями дамп данных после mysqldump можно импортировать даже в другие базы. А уж для совместимости в пределах mysql релизов в дамп пишется толпа условных комментариев с проверкой версии.
    При том снимать дамп лучше той версии mysqldump, куда собираетесь импортировать.

    А вот если переносить физически datadir базы, а не дамп - то да, в пределах той же major версии и отдельная инструкция обновления: https://dev.mysql.com/doc/refman/8.0/en/upgrading.html (с 5.6 на 8.0 вообще нельзя, необходимо обновиться 5.6->5.7, затем 5.7->8.0)
    Ответ написан
    Комментировать
  • Что нужно исправить, чтобы избавится от предупреждения Strict Standards?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Небольшая несостыковка в объявлении метода, не соответствует(не совместима) с классом родителем, в данном случае количество передаваемых параметров разное. Можно ручками добить третий аргумент в метод start_lvl( &$output, $depth, $args )
    Ответ написан
    4 комментария
  • Как сделать 301 редирект в .htaccess с несуществующих страниц?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    # переопределяем страницы ошибок
    ErrorDocument 400 /error.php?err=400
    ErrorDocument 401 /error.php?err=401
    ErrorDocument 402 /error.php?err=402
    ErrorDocument 403 /error.php?err=403
    ErrorDocument 404 /error.php?err=404
    ErrorDocument 500 /error.php?err=500
    ErrorDocument 502 /error.php?err=502

    Я скинул весь код ошибок, чтоб поставить редирект на главную вместо /error.php?err=502 поставьте только слеш, и если нужно толь с несуществующих страниц то оставьте только ошибку 404
    ErrorDocument 404 /
    Ответ написан
    Комментировать
  • Как сделать редирект с одной папки на другую?

    @ShamblerR
    Просто, вопервых уметь полозваться гуглом, есть часть вопросов которые реально можно решить самому. И этот относится к нему.

    Теперь по теме
    RewriteBase /
    RewriteRule ^main-folder/old-folder/(.*)$ /main-folder/new-folder/$1 [L,R=301]


    по хорошему еще бы добавить
    RewriteCond %{REQUEST_URI}
    Ответ написан
    3 комментария
  • Как обновить версию php в Open Server до php 7.1.3?

    @uncletobe
    заходим в трей -> (рабочий стол - справа внизу, где часы) -> выбираем зеленый флажок опен сервера -> ПКМ -> настройки -> вкладка модули -> PHP -> в выпадающем списке выбираем нужную версию, если нужной нет в списке, то идем на ospanel.io и скачиваем с нужным модулем.
    Ответ написан
    3 комментария
  • Как заставить пользователя зарегистрироваться?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Всё гораздо проще - пострегистрация: дайте заполнить поля (и сохраните в сессии после сабмита), затем попросите зарегиться: вряд ли кто-то сможет отказаться - он же столько уже поработал)
    Ответ написан
    Комментировать
  • На сайте возникла критическая ошибка, но не приходит письмо для восстановления?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Самый простой способ: cотрите (перенесите в другое место) все плугины из папки wp-content/plugins. Так как на 99%, что какой-то плугин устарел и не совместим с текущей версией WP.
    Или же включайте показ ошибок PHP и разбирайте каждую. Это делается добавлением в wp-config.php:
    define('WP_DEBUG', true);
    Ответ написан
    1 комментарий
  • Чем отличаются REQUEST_FILENAME и REQUEST_URI в htaccess?

    @dodo512
    httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rew...
    REQUEST_FILENAME
    The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time REQUEST_FILENAME is referenced. Otherwise, such as when used in virtual host context, the same value as REQUEST_URI. Depending on the value of AcceptPathInfo, the server may have only used some leading components of the REQUEST_URI to map the request to a file.

    REQUEST_URI
    The path component of the requested URI, such as "/index.html". This notably excludes the query string which is available as its own variable named QUERY_STRING.

    Допустим у сайта DocumentRoot "/var/www", тогда при обращении к site.local/news/list
    %{REQUEST_FILENAME} -> /var/www/news/list
    %{REQUEST_URI}      -> /news/list
    Ответ написан
  • Как в htaccess запретить редирект рекламы с опр. домена?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Запрет по рефереру:
    RewriteCond %{HTTP_REFERER} ^domain.com [NC]
    RewriteRule .* index.php [F]

    или несколько:
    RewriteCond %{HTTP_REFERER} ^domain.com [NC, OR]
    RewriteCond %{HTTP_REFERER} ^domain2.com [NC, OR]
    RewriteCond %{HTTP_REFERER} ^domain3.com [NC]
    RewriteRule .* index.php [F]

    2. Блокировка ресурсов от HOT-link'a: здесь
    Ответ написан
    Комментировать
  • Как убрать повторяющиеся слэши в .htaccess?

    @ZardoZAntony
    программист, сис. админ
    #убираем лишние слеши
        RewriteCond %{REQUEST_URI} ^(.*?)\/{2,}(.*?)$
        RewriteRule . %1/%2 [L,R=301]
        RewriteCond %{THE_REQUEST} //
        RewriteRule .* /$0 [R=301,L]
    Ответ написан
    7 комментариев
  • Как убрать повторяющиеся слэши в .htaccess?

    @ShamblerR
    Дааю сразу все поскольку в свое время задолбало для каждого проекта делать все заново, по этому сейчас просто вставляю кусок и все.
    ############################################################################
    #### Cтандартный .htaccess для проектов студии Клондайк, версия 2.3     ####
    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    RewriteCond %{HTTPS} on
       # Проверяем наличие https в URL.
    RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI}
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Выбор основного зеркала (или с www или без www)                    ####
    ############################################################################
       # 1. Редирект с www на без www. (раскоментировать директивы пункта 1)
    #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
       # Проверяем, содержит ли домен www (в начале URL).
    #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
       # Перенаправляем URL на домен без www.
    ####
       # 2. Редирект без www на www. (раскоментировать директивы пункта 2)
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
       # Проверяем, не содержит ли домен www (в начале URL).
    #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
       # Перенаправляем URL на домен c www.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteRule . %1/%2 [R=301,L]
       # Исключаем все лишние слеши.
    
    ############################################################################
    #### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
    ############################################################################
    RewriteCond %{REQUEST_URI} \..+$  
       # Если файл содержит точку.
    RewriteCond %{REQUEST_FILENAME} !-d   
       # И это не директория.
    RewriteCond %{REQUEST_FILENAME} -f
       # Является файлом.
    RewriteCond %{REQUEST_URI} ^(.+)/$      
       # И в конце URL есть слеш.
    RewriteRule ^(.+)/$ /$1 [R=301,L]     
       # Исключить слеш.
    
    ############################################################################
    #### Добавляем слеш(/), если его нет, и это не файл.                    ####
    ############################################################################
    RewriteCond %{REQUEST_URI} !(.*)/$
       # Если слеша в конце нет.
    RewriteCond %{REQUEST_FILENAME} !-f
       # Не является файлом.
    RewriteCond %{REQUEST_URI} !\..+$
       # В URL нет точки (файл).
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    Ответ написан
    5 комментариев
  • Как изменить виджет в Wordpress?

    noby2000
    @noby2000
    Founder.
    Не жадничаете, идёте на фриланс биржу, публикуете эту задачу за 500р, подключаете фрилансера к своему компьютеру, смотрите за ходом выполнения задачи (можете записывать видео), учитесь. Если использовать сервис типа zoom, можете попутно задавать вопросы. 20 минут, и все готово.
    Ответ написан
    Комментировать
  • Сайт выполнил переадресацию слишком много раз?

    lanvin07
    @lanvin07
    Нравится html5+js
    Возможные причины подобной ошибки:

    1. Настройки в панели хостинга конфликтуют с конфигурацией на сайте.
    2. Директивы в файле .htaccess (искать по вхождению Redirect, RedirectMatch, mod_rewrite RewriteCond, RewriteRule) который лежит в корневой папке сайта. Возможно вам поможет свежий файл для вашей системы управления с сайта производителя.
    3. Настройки виртуального хоста веб-сервера (если у вас выделенный сервер)
    Для apache директивы см. п2 или nginx искать вхождения rewrite
    4. Модули/плагины системы управления, админки (вспомните какие недавно были установлены/обновлены, какие страницы редактировались). Например бывают модули, которые формируют адрес страницы на основании ее заголовка.
    О компании > /o-kompanii
    При смене заголовка - ставится редирект со старого адреса на новый.
    О нас > /o-nas
    (+ редирект с /o-kompanii на новый /o-nas)
    Поэтому если поменять заголовок страницы несколько раз и в конце оставить один из первых вариантов, то вы рискуете получить цикличный редирект, примерно так:
    >> редирект с /o-kompanii на /o-nas
    >> редирект с /o-nas на /o-kompanii
    5. Куки браузера. Да, это удивительно, но бывает для решения проблемы достаточно очистить cookie браузера.

    Чтобы понять какие именно редиректы выполняются и например найти цикличный воспользуйтесь сайтом https://bertal.ru/
    Ответ написан
    6 комментариев
  • Как обойти проблему при переносе сайта с хоста на локалку?

    IvanIlyasov
    @IvanIlyasov
    Познаю мир
    Чтобы перенести Prestashop-сайт с хостинга на локалку. Надо сделать следующее:
    1) Очищаем кэш.
    Заходим в /prestashop/cache/smarty/cache и удаляем всё, кроме index.php и last_template_flush.
    Заходим в /prestashop/cache/smarty/cache/compile и удаляем всё, кроме index.php и last_flush.
    Заходим в /prestashop/themes/ваша_тема/cache и удаляем всё, кроме index.php.
    2) Меняем домен в БД.
    Меняем либо через текстовый редактор, либо заранее в phpMyAdmin.
    Таблица ps_shop_url колонки domain и domain_ssl. Меняете домен на localhost (без http:// и других лишних символов.)
    3) Меняем пути к БД в файле конфигурации.
    Открываем в текстовом редакторе /prestashop/config/settings.inc.php
    и меняем на следующее:
    define('_DB_SERVER_', 'localhost');
    define('_DB_NAME_', 'prestashop'); //название БД на локалке
    define('_DB_USER_', 'root'); //ваш логин к БД а локалке
    define('_DB_PASSWD_', '123'); //пароль к БД на локалке

    Если имя сервера отличается от localhost, то его нужно поменять на это значение.
    4) Загружаем на локальный сервер БД и и файлы сайта.
    5) Заходим в админку (в данном случае localhost/admin3200), вводим логин и пароль админа.
    6) Идем в Расширенные параметры >> Производительность, передергиваем Оптимизация Apache (выкл >> Сохранить, вкл >> Сохранить), тем самым обновляем .htaccess.
    Всё.

    Чтобы перенести обратно на хостинг, надо проделать всё тоже самое, только в конце еще один пункт:
    7) Идем в Настройки >> SEO и URL >> внизу страницы кнопка "Генерировать Robots.txt"
    Ответ написан
    Комментировать
  • CMS своими руками

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Все просто.
    1. Изучить какой-нить фреймворк типа Symfony 2 (посложнее) или Kohana (попроще).
    2. Дальше узнать про Nested Sets для оперирования древовидными структурами (статьи в категориях, комменты).
    3. Сделать CMS.
    Ответ написан
    Комментировать
  • CMS своими руками

    Для начала можно взять какие-нибудь лёгкие движки, в которых минимальный функционал, посмотреть, как реализовано, после взять ещё один, его ковырнуть, в итоге начнёшь понимать саму структуру (это, кстати, очень важный пункт). Книги по сути не нужны, с ними будет сложнее, я, когда дописывал двиг, не читал ничего, кроме описаний функций. Да, я сидел над одной функцией 2 часа, зато сейчас я прекрасно понимаю, как это работает и на реализацию у меня уйдёт не более 10 минут. Главное желание чтобы было завершить начатое)
    Ответ написан
    Комментировать