Как правильно писать из php в stderr? |
[03 Jun 2019|04:12pm] |
Я использую на своём веб-сайте 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, странное |
[14 Feb 2016|12:20pm] |
Коллеги имеющие 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 за собой не убирает.
|
|
|
[19 Jan 2016|10:59pm] |
Вот вы сидите тут, и не знаете, что в internals идут жаркие бои вокруг предполагаемого к принятию Морального кодекса строителя коммунизма.
Всегда полагал, что Феррара способен только лицом торговать, а теперь окончательно в этом убедился. Вот почему больше всего кричат те, от кого меньше всего практической пользы?
|
|
Парсер почты за деньги |
[24 Nov 2015|10:48am] |
Добрый день.
Имеется задачка: получить с почтового ящика письма и провернуть с каждым из них следующие действия: 1. Распарсить заголовок 2. Если письмо отправлено с определенного адреса, то: 2.1. Сохранить на диск 2.2. Получить текст (если это html-письмо в base64 - раскодировать) 2.3. Распарсить по содержимому 2.4. Выдать результат парсинга
В принципе, все по отдельности гуглится. Но времени компилировать "до кучи" совершенно нет.
Кто возьмется сделать? Бюджет - 4 килорубля.
|
|
Быстрая работа с массивами или множествами |
[05 Nov 2015|08:56am] |
Есть ли какието способы ускорить работу с массивами (пересечение, объединение)? Или может даже реализовать множества. Массивы содержат числа. Т.е может можно как то указать - что это массив типа int чтобы ускорить.
сейчас стандартные array_intersect + array_merge дают в среднем ~0.02 с на ~10 операциях объединения/пересечения размер массивов ~500 элементов
пока хватает и этого, но понятно что с возрастанием кол-ва элементов и операций время будет возрастать (до 100000 хотябы).
нужно решение в PHP. знаю что можно поставить redis но нет возможности (shared хостинг)
|
|
Теоритический вопрос про mod_rewrite и WP-Redirection |
[29 Sep 2015|12:33am] |
Добрый день.
Может кто-нть поделиться знанием о том, что эффективнее с точки зрения использования CPU/ОЗУ: 5000 правил в .htaccess или 5000 правил в вордпрессовском плагине "Redirection"(https://wordpress.org/plugins/redirection/)? Или этот вопрос некорректен?
Эти 5000 правил - приводят пользователей со старых ссылок в новое место.
Поможет-ли тут использование RewriteMap ? Или это не тот инструмент, который тут нужен?
Заранее спасибо.
|
|
opcache php 5.6 и require |
[22 Sep 2015|11:56am] |
например включен opcache
я подключаю require 'some-file.php'; эти данные закешируется пока файл не поменялся или будет каждый раз парсить и подгружать?
$cache = require 'cache/key1.php';
во второй раз берется из кеша? $cache = require 'cache/key1.php';
насколько эффективный такой способ использования opcache в качестве кеша для храения какито результатов.
или надо явно использовать функции opcache ?
|
|
поиск по характеристикам - zend-search-lucene vs mysql plain |
[01 Jun 2015|08:06pm] |
например я делаю колонки в mysql 100 штук (чтб на все случаи) - 1 плоская таблица пихаю туда характеристики товаров. помогут ли тут еще индексы когда много колонок? и делаю обычный sql запрос prop1 = 'x' and prop2 = 'y' и т.д
или юзаю этот чудо движок на php и создаю индексы их товаров. тут естественно колонок не 100 а только какие нужны.
кто трогал zend-search-lucene, оно будет лучше вышеописанной структуры mysql?
ставить другие движки типа solr и прочее нет возможности на проект. только php mysql...
|
|
|
[14 May 2015|06:32pm] |
print floor(log(1000, 10)); # => 2
UPD: Норм, живём. print floor(log10(1000)); # => 3
|
|
Постоянная работа для php yii программера. Москва |
[04 May 2015|12:52pm] |
Постоянная работа для php yii программера. Москва php программист для работы в офисе.
Обязанности: Поддержка и развитие существующих проектов; Разработка новых проектов.
Требования: Уверенное знание Yii, PHP, MySQL; Навык работы в консоли *nix систем; Опыт написания систем, работающих под нагрузкой; Понимание общих архитектурных принципов и шаблонов проектирования; Опыт использования любой системы контроля версий (SVN, GIT и т.д.). Неоспоримыми плюсами будут Знание MongoDB, Node.js, PDO, SPL, Yii2, JavaScript, jQuery, SQL
Условия: Восьмичасовой рабочий день, 5-дневная рабочая неделя; Современный офис в центре Москвы (метро Тверская, Пушкинская, Чеховская), молодой дружный коллектив; Посещение фитнес рядом с работой, возможность повышения квалификации; Зарплата (обсуждается индивидуально с каждым на собеседовании).
Для заинтересовавшихся: Имеется техническое задание.
|
|
timezone |
[28 Mar 2015|08:40pm] |
Напомните мне, пожалуйста, как php из состава денвера объяснить, что летнего времени больше нет? Менять название часового пояса не хочется, т.к. есть привычка использовать формат "дата время msk". Как я понял timezonedb у него внутренняя, а не отдельной .dll, т.е. обновить ему базу часовых поясов просто так не удастся. Старый фокус с set TZ=EST+3EDT0 не помог. http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
|
|
|
[25 Feb 2015|10:04pm] |
PHP - язык, который помог встать мне на ноги! правда. Чуть больше десяти лет я с переменным успехом зарабатывал с его помощью. Было и по два и по году бросал все и вообще не подходил к компу)) но в итоге последние 4 года именно с помощью РНР я зарабатываю не плохие деньги, по крайней мере обеспечиваю себя с горкой. Но, признайтесь, он ужасен. Снова бросил.
|
|
вакансия php-программиста на удалённую частичную занятость (8-16 часов в неделю): Yii, Umi.cms |
[03 Feb 2015|08:05pm] |
Мой родственник, владелец небольшой фирмы, ищет php-разработчика на удалённую работу для доработки сопутствующего проекта. php, js, jQuery, Apache, mysql Фреймворки Yii и UMI.cms
Помесячная оплата 17'000-20'000 руб/мес. Проект рассчитан на год.
По всем вопросам пишите Антону на адрес antony зверь adminprofi точка ru
PS фирма в мск, если это Вам важно
upd Извините, была ошибка в адресе, в домене: правильно adminprofi
upd2: Спасибо всем откликнувшимся. Вакансия закрыта.
|
|
Нужен нормальный хостинг |
[27 Jan 2015|05:06pm] |
Около трех лет вешал сайты на локальный хостинг, а сейчас работать стал так хреново - страницы прогружаются минутами, а иногда сайт вообще провисает. Короче говоря, решил съезжать. Рейтингам в интернете не особо доверяю, так как места там элементарно покупаются, ни для кого не секрет. Так что хотелось бы послушать реальные отзывы - какой хостинг стоит выбрать.
|
|
так GMT или UTC |
[18 Dec 2014|01:05am] |
PHP 5.3.13
Такое впечатление, что PHP не знает разницы между GMT и UTC. Unixtime базируется именно на шкале UTC, вместе с её секундой координации. Однако же $a = new DateTime('1992-7-1 23:59:59 UTC'); $b = new DateTime('1992-7-2 00:00:00 UTC'); print_r($a->diff($b)); Дает ответ 1 секунда, хотя правильный ответ - 2 секунды, ибо между ними еще "1992-7-1 23:59:60 UTC"
На самом деле расклад такой
UTC | Unixtime | GMT примерно |
1992-7-1 23:59:58 | 710035198 | 1992-7-1 23:59:57.55 |
1992-7-1 23:59:59 | 710035199 | 1992-7-1 23:59:58.55 |
1992-7-1 23:59:60 | 710035200 | 1992-7-1 23:59:59.55 |
1992-7-2 00:00:00 | 710035200 | 1992-7-2 00:00:00.55 |
1992-7-2 00:00:01 | 710035201 | 1992-7-2 00:00:01.55 |
У кого-нибудь установлен 5.4 или старше? Проверьте у себя pls.
|
|
Неожиданно 502.2 |
[09 Nov 2014|01:18am] |
<?retrieveData;rename("","");
Этот скрипт при выполнении на PHP 5.6.2 (x64 NTS через CGI) на IIS 7 приводит у меня к 502.2, т.е. на нем фактически падает php-cgi.exe.
Если в retrieveData или rename изменить хотя бы один символ - работает как надо, т.е. выдает 500 Server Error Тот же самый скрипт на том же самом PHP но в Apache 2.4 (mod-cgi) работает без проблем (500).
Проверьте на своих конфигурациях, результат пишите сюда - интересно выяснить в чем дело.
|
|
Правильное наименование компонентов MVC в РНР фреймворках |
[23 Oct 2014|06:47pm] |
Вопрос на тостерре подтолкнул мою мысль, некоторое время уже работавшую в этом направлении. И получилось у меня, что называем мы компоненты этого классического паттерна неправильно. А правильно будет (по крайней мере, в случае с Ларавелью):
- Модели лежат в папке Controllers, при этом используя
- ORM из папки Models для манипуляции с данными
- Визуальное отображение лежит в папке Views
- Секретарша лежит в routes.php.
И тогда всё сходится! Меня как раз смутили рауты в Ларавели, которые ничтоже сумняшеся используются в виде таких мини-рулетиковконтроллеров, которые берут на себя кучу задач - вплоть до авторизации!. И меня давно уже смущало, что во всех фреймворках моделью называется тупо маппер таблицы из БД.
А вот если в голове названия переиначить, то всё сходится: Раут - это тот самый тонкий контроллер, о котором все время говорили большевики, но который никто не видел. Контроллер - это та самая толстая модель, которая отвечает за бизнес-логику! Модель - ОРМ, которым и является. Вью остаётся на месте.
Логично?
|
|
|
[07 Oct 2014|06:13am] |
Перевод статьи A possible future to PHP Франка Карличека
Возможное будущее PHP
Согласно последней статистике, ownClowd – один из крупнейших опенсорсных проектов, написанных на PHP. Как многие из вас знают, PHP использован для серверной части ownCloud. Мы использовали другие технологии, такие как C++ и Qt для десктопных клиентов, Java для андроид-приложений и Objective-C для iOS-приложений, JS для веб-интерфейсов и т.д. Но сердце ownCloud – серверная компонента, использующая PHP 5.3 и выше.
Было несколько причин для выбора PHP: ( Read more...Collapse )
|
|
strtotime |
[08 Sep 2014|05:07am] |
Сколько-сколько это у нас секунд в году, как вы думаете?
for($y=1970; $y<2038; $y++) { $y1 = $y+1; $t = strtotime("$y1-01-01 00:00:00") - strtotime("$y-01-01 00:00:00"); echo "$y - $y1 = $t s =", $t/3600/24, " d\r\n"; };
( я чего-то не знаю?Collapse )
|
|