Символическая ссылка db.php
Query Monitor- Отладка запросов REST API
- Кликабельные имена функций и стека вызова
- Отключение обработки PHP ошибок плагинов, тем, всех ошибок
- Профилирование и ведение журнала (лог)
- Символическая ссылка db.php
- Утверждения (assertions)
В этой заметке поговорим о том, зачем плагину Query Monitor нужна символическая ссылка (файл) db.php в папке wp-content и зачем такая ссылка может пригодится нам, пользователям этого плагина.
В папке wp-content плагина Query Monitor находится файл db.php. В этом файле код расширяющий базовый класс wpdb{}. Когда плагин активируется, он создает символическую ссылку (symlink) на этот файл в папке wp-content (WP_CONTENT_DIR).
Такая ссылка позволяет QM лучше работать с логами запросов к БД, например записывать результаты запроса и получать полную трассировка стека всех запросов к базе данных.
На некоторых серверах плагин не может создать такую ссылку автоматически. В частности, на Windows, где, как правило, создаются сайты, плагин не умеет этого делать.
Подробнее про файл wp-content/db.php
читайте по этой ссылке.
Когда db.php нет на месте
Иногда у PHP нет достаточных прав, чтобы создать символическую ссылку. В этом случае QM по-прежнему будет работать нормально, но вы не увидите расширенную информацию по запросам к БД. Такая информация бывает очень полезна.
Символическую ссылку о которой идет речь, можно создать вручную, используя один из методов ниже.
Через командную строку
Linux / OS X:
ln -s /path/to/wordpress/wp-content/plugins/query-monitor/wp-content/db.php /path/to/wordpress/wp-content/db.php
Windows (нужны права администратора):
mklink C:\path\to\wordpress\wp-content\db.php C:\path\to\wordpress\wp-content\plugins\query-monitor\wp-content\db.php
В Windows есть два разных типа ссылок: Shortcut и Symlink. Shortcut создается, когда мы перетаскиваем файл с зажатой клавишей alt. Тут речь идет именно про Symlink.
Через изменение прав для папки
Разрешите создавать файлы в каталоге wp-content (WP_CONTENT_DIR) и ре-активируйте QM он автоматически попробует создать такую ссылку.
Через Панель управления хостингом
Если вы не можете сделать ничего из вышеперечисленного, или ваш хост предотвращает создание символических ссылок через PHP, то попробуйте создать символическую ссылку через панель управления веб-хостингом (Plesk, cPanel). Или обратитесь в тех-поддержку.
Когда db.php на месте
Файл db.php иногда может конфликтовать с другими плагинами, которые также используют такой файл.
Примеры таких плагинов:
- W3 Total Cache
- LudicrousDB
- HyperDB
Если такой конфликт возник, то сделать с ним в настоящее время ничего нельзя. Это ограничение ядра WordPress: файл должен называться именно db.php и должен быть расположен именно в каталоге wp-content.