совместное использование одной и той же cookie-сессии с несколькими установками WordPress на одном домене?

Вопрос или проблема

Я пытаюсь использовать это на обоих файлах wp-config.php каждого установки в одном и том же домене, который является подсайтом, который я использую для основного сайта.

Чтобы прояснить… 2 установки WordPress находятся на подсайте..
первая установка находится на http://mysubdomain.domain.com/
вторая установка находится в папке… http://mysubdomain.domain.com/wp-install-2/

Когда я сначала вхожу на основной сайт, а затем нажимаю на следующий сайт, который находится в /wp-install-2/, я не залогинен.

Что я могу сделать, чтобы это заработало для “ПОСЛЕДНЕЙ ВЕРСИИ WORDPRESS 4.5.2”

Каждая установка идентична.
Обе установки используют одну и ту же базу данных.

Что я упускаю?

    define('WP_DEBUG', false);
    define( 'CUSTOM_USER_TABLE', 'wp_users' );
    define( 'CUSTOM_USER_META_TABLE', 'wp_usermeta' );

    define( 'COOKIE_DOMAIN', '.domain.com' ); // Точка перед названием
    define( 'COOKIEPATH', "https://wordpress.stackexchange.com/" );
    define( 'COOKIEHASH', md5( 'mysubdomain.domain.com' ) );

Если кто-то получил это полностью работающим, пожалуйста, помогите. Ударяюсь головой об стену уже несколько дней..

Спасибо

На мой взгляд, это невозможно. Если вы используете одну и ту же конфигурацию WordPress в разных папках (поддоменах), то сессия и данные cookie не будут делиться друг с другом. Например: если вы уже вошли на http://subdomain.com и пытаетесь получить доступ к админ-панели http://subdomain.com/install2, то вас перенаправит на страницу входа, и предыдущая вошедшая в систему часть также завершит сессию.

Также обратите внимание, что site_url, home_url, плагины, настройки и другие данные, хранящиеся в базе данных, будут отличаться для папок. Это означает, что вы можете попытаться установить новый плагин в папку install2, и он будет добавлен в базу данных. Поскольку база данных общая для папок, когда вы получаете доступ к http://subdomain.com, она будет искать новую папку плагина в своей папке, которая на самом деле недоступна, и в итоге возникнет ошибка. Поэтому невозможно делиться данными между различными папками.

Ответ или решение

Чтобы обеспечить совместное использование сеансов cookie между несколькими установками WordPress на одном домене, необходимо учесть несколько важных аспектов конфигурации. В вашем случае у вас есть две установки WordPress на поддомене: первая на http://mysubdomain.domain.com/, а вторая в папке http://mysubdomain.domain.com/wp-install-2/. Поскольку обе установки используют одну и ту же базу данных, это упрощает задачу. Однако требуется правильно настроить параметры конфигурации в файле wp-config.php каждой установки.

Шаги для совместного использования сеансов cookie

  1. Общие параметры конфигурации:
    Убедитесь, что обе установки имеют одинаковые параметры COOKIE_DOMAIN и COOKIEHASH в файле wp-config.php. Убедитесь, что в обоих файлах конфигурации указаны следующие строки:

    define('COOKIE_DOMAIN', '.mysubdomain.domain.com'); // Обратите внимание на точку перед поддоменом
    define('COOKIEPATH', '/'); // Задайте корневой путь, чтобы cookie были доступны для всех установок
    define('COOKIEHASH', md5('mysubdomain.domain.com')); // Уникальный хеш
  2. Использование одних и тех же таблиц пользователей:
    Вы правильно указали параметры для пользовательских таблиц:

    define( 'CUSTOM_USER_TABLE', 'wp_users' );
    define( 'CUSTOM_USER_META_TABLE', 'wp_usermeta' );

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

  3. Права доступа и Cookies:
    Убедитесь, что настройки в браузере и сервере не блокируют куки для поддоменов. Это важный момент, так как многие браузеры могут блокировать куки, если они не соответствуют ожидаемым доменам. Вы можете использовать инструменты разработчика вашего браузера, такие как вкладка "Сеть" в Chrome, для проверки cookie, которые устанавливаются и отправляются.

  4. Обновление версии WordPress:
    Вы упомянули, что используете версию WordPress 4.5.2. Рекомендуется обновить систему до последней версии, чтобы избежать возможных уязвимостей и улучшить совместимость с современными плагинами и темами.

  5. Проверка ошибок и отладка:
    Убедитесь, что WP_DEBUG установлен на true в файле wp-config.php для отладки:

    define('WP_DEBUG', true);

    Это поможет выявить возможные ошибки, которые могут мешать входу в систему.

Заключение

Следуя вышеуказанным шагам, вы должны быть в состоянии нормализовать совместное использование сеансов между двумя установками WordPress. Убедитесь, что изменения в конфигурации применяются ко всем установкам, и проверьте правильность настроек сервера и браузера на предмет обеспечения работы cookie. Если проблемы сохраняются, рассмотрите возможность наличия конфликтов с плагинами или темами, которые могут препятствовать этому процессу.

Оцените материал
Добавить комментарий

Капча загружается...