2015-02-21 1 views
1

У меня есть сайт wordpress, который находится на одном сервере и копия сайта на втором сервере, оба подключаются к одной базе данных. Цель копирования на втором сервере - запустить несколько настраиваемых плагинов, которые я написал, они очень ресурсоемкие, когда они запускаются, поэтому сайт остановится, если они будут на первом сервере.Пользовательские плагины Wordpress на 2-м сервере нарушают постоянные ссылки

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

Я знаю, что это не код в плагинах, так как я тестировал вызов пустого плагина без кода вообще, если он работает на втором сервере, он прерывает постоянные ссылки. Также проверяется запуск плагинов на первом сервере и не прерывает постоянные ссылки.

Файлы .htaccess на обоих серверах идентичны, также пытались удалить один на втором сервере, но это тоже не сработало.

Любая помощь в устранении этой или даже точки в правильном направлении была бы весьма признательна.

ответ

0

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

Конечно, как вы, вероятно, знаете (но ради других), вы можете легко использовать одну и ту же базу данных между установками Wordpress, если у вас разные табличные префиксы. Трюк мог бы разделить все или некоторые таблицы между обеими установками без проблем, как вы переживаете. Я не знаю, какие таблицы вам нужны для ваших плагинов, но если бы вы могли просто сделать те, которые вам нужны, без их всех, тогда теоретически вы сможете избежать этой проблемы.

Я держу пари, что проблема здесь в таблице options. Я думаю, что ключом к решению будет изучение того, как Wordpress уже создал решение для обмена таблицами users и usermeta между установками.

Это делается путем определения их в в.ч.-settings.php файл с помощью define('CUSTOM_USER_TABLE', 'wp_users'); и define('CUSTOM_USERMETA_TABLE', 'wp_usermeta');

Вы можете увидеть, как это осуществляется в файле install directory/wp-includes/wp-db.php. На текущей версии Wordpress см строки 887, а затем особенно строки кода, начиная с 953 ...

if (isset($tables['users']) && defined('CUSTOM_USER_TABLE')) 
       $tables['users'] = CUSTOM_USER_TABLE; 

Я думаю, вы могли бы просто изменить этот код, чтобы разделить таблицы, нужно от «переднего конца «установите с вашей второй установкой и решите свою проблему.

+0

Спасибо за ваш ответ. Я нашел работу, вызвав '$ wp_rewrite-> flush_rules (false);' с первого сервера после запуска каждого плагина. Но ваша идея кажется немного более элегантной, поэтому я буду смотреть на это. – PeterD

 Смежные вопросы

  • Нет связанных вопросов^_^