pChart Fatal error: Uncaught Error: Cannot use string offset as an array in

Продолжаю ловить ошибки перевода проекта с PHP 5.4 на PHP 7.2 😉 На этот раз обнаружилось что pChart используемый в части отчетов скорее мертв чем жив, а последнее обновление на официальном сайте от 2014 года. Но! Как всегда нашлись энтузиасты, которые создали форк, в котором в 2.1х ошибки совместимости с PHP 7.2 устранены и выпущена ветка 2.2, не совместимая с pChart 2.1x

https://github.com/bozhinov/pChart2.0-for-PHP7/tree/7.x-compatible

https://github.com/bozhinov/pChart2.0-for-PHP7/tree/2.2

Deprecated: The each() function is deprecated в PHP 7.2

При переносе кода из PHP 5.4 на PHP 7.2 в libmail.php словил следующую ошибку:

Код:

Ну в принципе достаточно заменить его на:

 и

на

 

Пишем расширение для PHP

Для чего может понадобиться написать свое расширение?

  • Существенно повышается скорость исполнения кода
  • Защита существующего кода — код поставляется в виде бинарника
  • Работа с драйверами, «железом на прямую» или использование сторонних dll/so

При разработке данного мануала использовались ресурсы http://www.php-cpp.com и https://habr.com/post/98862/, а так-же ряд других.

» Читать далее

Как проверить, что входной поток stdin не пустой (php://stdin)

Можно например так:

Вложенный в письмо файл winmail.dat

Иногда попадаются письма, которые не удается распарсить средствами модуля imap на php — вложения он упорно видит одним файлом winmail.dat . Это «подарок» от Microsoft Outlook, который когда пользователь выбирает тип письма RTF, не заморачиваясь завертывает в файл winmail.dat и письмо, и вложения и с письмом помимо заголовков отправляет только это вложение. А люди — которые не пользуются Outlook — по мнению Microsoft — это ваши проблемы 😉

Решение — использование консольной утилиты tnef. Например:

 

1 14 15 16 17 18 25