Ars Longa, Vita Brevis

Дек 18, 2008

Nginx configuration for WordPress: a critical perspective

Рубрика: WordPress
Метки: , , ,
Vladimir

Three weeks ago I talked about one of the nginx configurations for WordPress. Since then I have received a couple of feedback that it is wrong to do this with a link to the configuration approved by Igor Sysoev (the author of nginx). She lies here:

This has the approval of Igor, the creator - you cannot get better than that.

The plugin has been tested and found working on several diverse sites, including a website about choosing the best prenatal omega 3 supplement for vegan women. Several other websites were tested using Nginx configuration files with an Apache2 setup. All these websites would not work with Nginx configuration files. They required custom code changes to make the plugin work with Apache2.

Читать статью «Конфигурация nginx для WordPress: критический взгляд со стороны» полностью…

Вчера вечером нашёл, а сегодня утром окончательно разобрался с одной очень интересной ошибкой плагина All in One SEO Pack. Ошибка проявляется в версии 1.4.6.15, но, возможно, более ранние версии тоже ей подвержены. Для проявления ошибки необходима определённая структура пермалинков: я столкнулся с ошибкой на такой структуре: /%category%/%postname%/. Тем не менее, структура — условие необходимое, но не достаточное: я не на всех сайтах смог воспроизвести ошибку. Возможно, причиной этому являются сторонние темы и/или плагины. Тем не менее, в причинах её возникновения я разобрался.

Проявляется ошибка следующим образом: при переходе на сайт по неверной ссылке (например, http://example.com/wpadmin) отображается пустая страница, а в логе ошибок присутствует примерно такое сообщение:

[-]
View Code Text
PHP Catchable fatal error:  Object of class WP_Error could not be converted to string in /wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php on line 950

Читать статью «All in One SEO Pack 1.4.6.15: пустой экран при неверном запросе» полностью…

Дек 15, 2008

Простой анализатор логов Postfix

Рубрика: Linux
Метки: , , ,
Vladimir

При создании сайтов, занимающихся email-маркетингом, полезно анализировать логи почтового сервера, например, для нахождения адресов, генерирующих hard bounce (перманентная ошибка доставки). Такие адреса нужно удалять из списка рассылки. Во-первых, для того, чтобы не нагружать сервер адресата, а во-вторых, чтобы не попасть в блок- или спамлист. Читать статью «Простой анализатор логов Postfix» полностью…

В послежнее время я нахожу довольно много статей, говорящих о том, что всвязи с мировым финансовым кризисом в IT-индустрии всё плохо, проходят повальные сокращения IT-специалистов (может и так), фриланс приходит в упадок, демперы-индусы работают за еду и нужно срочно осваивать новую профессию.

Мне стало интересно реальное положение вещей, и я решил провести небольшое исследование.

Я сравнивал четыре страны: Украину (потому что я сам из Украины), Россию (основная часть читателей из России), США (они начали кризис) и Индию (потому что работают за еду).

Источник статистических данных у меня прежний: oDesk oConomy. Как следствие, данные приводятся для oDesk; на других фриланс-биржах ситуация может быть несколько иной. Читать статью «Экономический кризис и фриланс» полностью…

Сегодня в WordPress открылся баг (с самым высоким приоритетом — "highest omg bbq"). Симптомы его следующие: при публикации поста выдаётся ошибка вида:

[-]
View Code Text
PHP Catchable fatal error: Object of class WP_Error could not be converted to string in /wp-includes/comment.php on line 1264

Причина ошибки заключается в том, что WordPress недостаточно тщательно проверяет результат, который возвращают функции wp_remote_get()/wp_remote_post().

Ошибка проявляется, когда функция WP_Http::chunkTransferDecode() возвращает ошибку. Я не лез в дебри функции: возможно, сервер вернул что-то не то, возможно, декодер содержит ошибку, а может быть, виновата другая функция — важно здесь несколько другое: элемент body возвращаемого результата может не быть скалярным.

Переходим к исправлению ошибки. Читать статью «WordPress 2.7: фатальная ошибка при публикации статьи» полностью…