<rmcreative>

RSS
  1. PHP: превращаем ошибку в исключение локально

    20 февраля

    В PHP часто для обработки ошибки в функциях вроде dns_get_record() используют оператор @:

    $result = @dns_get_record($hostname, DNS_A);
    if (!$result) {
        throw new \RuntimeException('Unable to get record.');
    }

    Проблем несколько:

    • Использование @ не очень хорошо сказывается на производительности
    • Часто подавляется слишком много разных ошибок.

    Есть способ лучше:

    set_error_handler(
        static function (int $errorNumber, string $errorString) use ($hostname): ?bool {
             throw new \RuntimeException(
                 sprintf('Unable to get record: "%s". ', $hostname) . $errorString,
                  $errorNumber
             );
        }
    );
     
    $result = dns_get_record($hostname, DNS_A);
     
    restore_error_handler();
    2 комментария
  2. PHP, OpenSSL и ошибка certificate verify failed

    17 февраля

    При попытке использования OpenSSL на некоторых системах возникает ошибка:

    stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

    Исправляется довольно просто:

    1. Сливаем https://curl.haxx.se/ca/cacert.pem.
    2. В php.ini добавляем openssl.cafile="/путь/до/cacert.pem".

    Так же точно исправляется ошибка "cURL error 60".

    Вроде просто, но почему-то подавляющее большинство советов на эту тему, в том числе большинство ответов на StackOverflow, говорят "отключить проверку", что, конечно же, приводит к возможности атаки man in the middle.

    Комментировать
  3. Онлайн митап от ВсеИнструменты.Ру о PHP, MySQL, нагрузках и асинхронности

    4 февраля

    12 февраля в 17:00 состоится митап, в котором я приму непосредственное участие. Темы:

    • Best Practice из Go для PHP.
    • Оптимизация MySQL в условиях HighLoad.
    • Холивар про асинхронность в PHP.

    Регистрируемся

    Комментировать
  4. Интервью с Hexlet

    4 февраля

    Ещё одно интервью с Hexlet. На этот раз текстом и брал его Святослав Иванов. Про то, как я втянулся в PHP, про сам язык, его сообщество, OpenSource и Yii.

    Читаем

    Комментировать
  5. PHP Russia 2020 переносится на 28 июня 2021 года

    23 января

    Ещё раз пришлось перенести конференцию. Самим это, конечно, очень не нравится, но поделать нечего. Нам, как и всем остальным, хочется нормального оффлайнового общения, а оно пока невозможно.

    Комментировать
  6. Евгений Россинский про прыгунов

    14 января

    Когда я занимаюсь наймом, то смотрю в том числе на длительность работы на каждом месте. Если нигде человек не задерживался, это может быть индикатором многих неприятностей.

    Об одной из них в интервью рассказал Евгений Россинский, СТО ivi и член ПК Highload и РИТ:

    Люди, которые прыгают из одной компании в другую, проработав по году, не отвечают за свои слова. Это значит, что те архитектурные решения, которые они сделали, проверяет кто-то другой. И они не получают того самого опыта, который нужен для жизни долгоиграющего сервиса. Ты устроился работать в компании, проработал там два месяца, написал какой-то сервис или сделал какую-нибудь фичу, а когда эта фича через 7-8 месяцев перешла в суровую эксплуатацию, ты увольняешься. Но кто будет отвечать за то, что эту хрень написал ты?

    11 комментариев
  7. 2020

    2 января

    Год получился непростым, непривычным, немного страшным и непредсказуемым, но, в общем, неплохим. Итоги в этот раз чуть отстали, но не написать их не могу, как-никак, стабильно подвожу их с 2010.

    Читаем

    2 комментария
  8. Новости Yii 2020, выпуск 8

    30 декабря 2020

    Успел составить предновогодний выпуск. Тройку полностью не выпустили, но начали. В января будут ещё пакеты.

    Чиатем

    Комментировать
  9. PHP 8

    30 ноября 2020

    На днях релизнулся PHP 8. Он не так богат на полезные возможности, как PHP 7.0 или PHP 7.4, но определённо хорош как производительностью с новым JIT, так и тысячей приятных мелочей.

    О новых возможностях коротко можно почитать на специальной странице, которую мы подготовили вместе Романом Пронским, JetBrains и сообществом.

    В честь выхода мы провели стрим с участием двух видных разработчиков этого релиза: Дмитрия Стогова и Никиты Попова.

    Запись можно посмотреть на YouTube.

    По поводу стабильности могу сказать, что, определённо можно пробовать переводить на восьмёрку продакшн. Большинство серьёзных багов отловили в бетах. Yii 1, Yii 2 и Yii 3 к PHP 8 готовы.

    4 комментария
  10. Новости Yii 2020, выпуск 7

    12 ноября 2020

    Вышел очередной выпуск новостей про Yii и новая порция релизов. Опубликовал на хабре.

    Приятного чтения

    Комментировать