• dil

Как правильно писать из php в stderr?

Я использую на своём веб-сайте Wordpress с plugin'ом "LiveJournal Crossposter Remake", который копировал мои посты в LJ, а потом в DW.
Но недавно он почему-то перестал это делать, хотя ни на самом сайте, ни в логах никаких ошибок не виднеется.
Я решил в том скрипте приделать записи в apache'вский error_log, чтобы последить, какие функции там запускаются, и что они делают, и увидеть, какие функции там не работают.

Вроде бы для записи в error_log, из PHP достаточно просто писать в STDERR:
fwrite(STDERR, "message\n");


В тестовом скрипте, который я вручную запускал, это вполне работало,
а в том livejournal-crossposter-remake.php почему-то вовсе не сработало,
в error_log'е вместо них появилась куча сообщений об ошибках в этом PHP-скрипте:
[error] [client мойIP-адрес] PHP Warning: fwrite() expects parameter 1 to be resource, string given in /path-to/www/blog/wp-content/plugins/livejournal-crossposter-remake/livejournal-crossposter-remake.php on line 99
и про остальные строки этого скрипта, куда я добавил такой fwrite()..

Погуглил, как вручную обратиться к stderr, и добавил в начале скрипта:
$STDERR=fopen('php://stderr', 'w');

А в функциях вот так:
global $STDERR;
fwrite($STDERR, "message\n");

вроде уже работает.

Так что же не так с оригинальным fwrite(STDERR,...) ?

Redis, странное

Коллеги имеющие Redis в хозяйстве, прошу, проверьте, не имеется ли в Ваших базах следующих данных:
1. Строка 'counter:__rand_int__' значением '100000'
2. Строка 'key:__rand_int__' значением 'xxx'
3. Список 'mylist' с 100000 записей содержащими 'xxx'
Если появилось, то прошу отписать версию Redis и какой коннектор используется.

Спрашиваю потом, что на доступных мне инстансах Redis таковые появились и откушали по 6.2МБ. Версии Redis от 3.0.3 до 3.0.7 под Ubuntu 12.04 и 14.04, инстансы на разных серверах и в разных сетях, в том числе без доступа к инету и в единоличном пользовании, поэтому взлом и шутки коллег исключаются. Единственное, что объединяет, кроме самого Redis и Redis-Cli - PHP-коннектор PHPRedis и вебморда phpRedisAdmin - они пока тоже под подозрением.

UPD: Спасибо dil, оказывается, это redis-benchmark за собой не убирает.
  • phorror

(no subject)

Вот вы сидите тут, и не знаете, что в internals идут жаркие бои вокруг предполагаемого к принятию Морального кодекса строителя коммунизма.

Всегда полагал, что Феррара способен только лицом торговать, а теперь окончательно в этом убедился. Вот почему больше всего кричат те, от кого меньше всего практической пользы?
V.exeR
  • v_exer

Парсер почты за деньги

Добрый день.

Имеется задачка: получить с почтового ящика письма и провернуть с каждым из них следующие действия:
1. Распарсить заголовок
2. Если письмо отправлено с определенного адреса, то:
2.1. Сохранить на диск
2.2. Получить текст (если это html-письмо в base64 - раскодировать)
2.3. Распарсить по содержимому
2.4. Выдать результат парсинга

В принципе, все по отдельности гуглится. Но времени компилировать "до кучи" совершенно нет.

Кто возьмется сделать? Бюджет - 4 килорубля.

Быстрая работа с массивами или множествами

Есть ли какието способы ускорить работу с массивами (пересечение, объединение)?
Или может даже реализовать множества.
Массивы содержат числа. Т.е может можно как то указать - что это массив типа int чтобы ускорить.

сейчас стандартные array_intersect + array_merge дают в среднем ~0.02 с на ~10 операциях объединения/пересечения
размер массивов ~500 элементов

пока хватает и этого, но понятно что с возрастанием кол-ва элементов и операций время будет возрастать (до 100000 хотябы).

нужно решение в PHP. знаю что можно поставить redis но нет возможности (shared хостинг)
happy
  • ujinsky

Теоритический вопрос про mod_rewrite и WP-Redirection

Добрый день.

Может кто-нть поделиться знанием о том, что эффективнее с точки зрения использования CPU/ОЗУ: 5000 правил в .htaccess или 5000 правил в вордпрессовском плагине "Redirection"(https://wordpress.org/plugins/redirection/)? Или этот вопрос некорректен?

Эти 5000 правил - приводят пользователей со старых ссылок в новое место.

Поможет-ли тут использование RewriteMap ? Или это не тот инструмент, который тут нужен?

Заранее спасибо.

opcache php 5.6 и require

например включен opcache

я подключаю require 'some-file.php';
эти данные закешируется пока файл не поменялся или будет каждый раз парсить и подгружать?

$cache = require 'cache/key1.php';

во второй раз берется из кеша?
$cache = require 'cache/key1.php';

насколько эффективный такой способ использования opcache в качестве кеша для храения какито результатов.

или надо явно использовать функции opcache ?

поиск по характеристикам - zend-search-lucene vs mysql plain

например я делаю колонки в mysql 100 штук (чтб на все случаи) - 1 плоская таблица
пихаю туда характеристики товаров.
помогут ли тут еще индексы когда много колонок?
и делаю обычный sql запрос prop1 = 'x' and prop2 = 'y' и т.д

или юзаю этот чудо движок на php и создаю индексы их товаров. тут естественно колонок не 100 а только какие нужны.

кто трогал zend-search-lucene, оно будет лучше вышеописанной структуры mysql?

ставить другие движки типа solr и прочее нет возможности на проект. только php mysql...