Глубокая отладка или Минус на минус — это плюс, но только первый раз.
Последнюю неделю провел в глубокой отладке Semantic MediaWiki. Очень непросто искать нетривиальную ошибку в незнакомой системе. Обычно бросаю довольно быстро, если не удаётся разобраться сходу. Но тут, что называется «закусил удила». Попробовал несколько новых инструментов, немного разобрался с устройством Semantic MediaWiki и нашел причину странного поведения.
Всё началось с того, что понадобился удобный способ выполнять вычисления на страницах MediaWiki. Установил расширение Scribuntu, немного почитал про Lua и реализовал необходимые функции. Дальше началось странное — функция возвращает число, которое становится значением свойства. Все значения выводятся нормально за исключением '1'
— вместо него появляется ссылка на совершенно непричастную страницу. Чудеса начались.»
18.08.2013
Метки: mediawiki, PHP, scribuntu, selenium, semantic mediawiki, xdebug, отладка Рубрики: Интернет, Разработка
Комментариев нет
WordPress плагин WP-Shortstat и кодировки
Прижился у меня в блогах на WordPress плагин WP-ShortStat. Официально он работает c WordPress до версии 2.7, последний релиз был в прошлом году. Так что пришлось самостоятельно устранять проблемы с кодировками. Заодно добавил поисковик mail.ru.»
19.07.2010
Метки: PHP, кодировка Рубрики: WordPress, Разработка
2 комментария
Порция знаний о WordPress
1. Организовать несколько блогов на одной копии wordpress и даже на одной базе данных очень просто! Достаточно исправить файл wp-config.php так, чтобы для каждого блога выбирались свои параметры соединения с базой данных (если базы разные) и префикс таблиц в базе. Если домены блогов разные, нужно анализировать $_SERVER['HTTP_HOST']
. Примерно так:
if( $_SERVER['HTTP_HOST'] == 'all-x.net' || $_SERVER['HTTP_HOST'] == 'www.all-x.net' ) {
define('DB_NAME', ...);
define('DB_USER', ...);
define('DB_PASSWORD', ...);
define('DB_HOST', ...);
$table_prefix = ...;
} else ...
Можно придумать и более общее решение — формировать префикс таблиц по домену, но это годится только при создании новых блогов, не факт, что существующие будут использовать это соглашение.
Другой способ: использовать плагин WP Hive.
2. Заметил, что ломается форматирование записей при выводе категории или архива. Оказалось, что при этом выводится не соддержимое записей (content), а выдержки (excerpt), из которых вырезаются теги. В некоторых темах есть возможность настроить вид вывода, но не в тех, которые использую я. Поэтому пришлось применить другой способ — установить плагин Advanced Excerpt, который дает возможность регулировать, какие теги вырезать, а какие оставлять.
3. Подсмотрел у Никиты Селецкого, как сделать поле ввода «резиновым». Принял на вооружение.»
22.09.2009
Метки: CSS, PHP Рубрики: WordPress
Комментариев нет
output handler ‘ob_gzhandler’ cannot be used after ‘URL-Rewriter’
C недавних пор при первом заходе на этот сайт стало появляться предупреждение:
Warning: ob_start() [ref.outcontrol]: output handler ‘ob_gzhandler’ cannot be used after ‘URL-Rewriter’ in /www/giftinha/www/htdocs/wp-includes/functions.php on line 408
В этой строке находится вызов ob_start( ‘ob_gzhandler’ );
Гугл решение не подсказал, хотя сообщения об аналогичной ошибке есть, причем, для разных CMS. Говорят, дело в конфигурации сервера. Хостер мой запрос отразил — никаких изменений, якобы, не было.
Workaround нашелся: в настройках WordPress можно запретить упаковывать статьи, но это временное решение.
Времени с этим разбираться нет совершенно, может, кто-нибудь подскажет?»
20.06.2008
Метки: PHP Рубрики: WordPress
3 комментария
Картинки внутри php файлов
В WordPress плагине Brian’s Threaded Comments используются не очень красивые значки ‘-‘ и ‘+’ для свернутых и развернутых веток.»
14.06.2007
Метки: PHP Рубрики: WordPress, Разработка, Языки
Комментариев нет
PHP debug for newbies
В процессе установки маленького локального SourceForge (Savane) пришлось ознакомиться с возможностями отладки в PHP.»
09.06.2007
Метки: PHP, отладка Рубрики: Разработка, Языки
Комментариев нет