Чудо язык PHP

Я просто в шоке от PHP! Вообще то я никогда этот язык не использовал и, судя по всему, теперь никогда использовать не буду 🙂

Настраиваю DSPAM. В дополнительном пакете поставляется удобная утилитка, которая обучает спам фильтр. Что самое прикольное — этот скрипт написан на PHP и запускается как обыкновенная программа в командной строке.

Задача утилиты прочитать с почтового ящика imap сервера письма из папок spam и ham, и соответственно научить антиспам фильтр. К ящикам она обращается напрямую, как к файлам файловой системы. А вот для удаления писем из ящика вызывает функции PHP для работы с imap.

Сначала, естественно открывает ящик:

$stream=@imap_open($imapmailbox,$imapuser,$imappasswd);

И вот тут то у меня случился страшный затык. Программа антиспам фильтр обучает, а вот письма тз папок не удаляет. При вызове этой функции просто завершает работу с котдом возврата 255. Плин! Бился над этой проблемой два дня. Как оказалось, я просто забыл поставить пакт php-imap.

Чудо язык PHP! Чудо! Нормальный язык, тот же Perl страшно бы ругнулся и послал меня за функцией, а это Чудо, тупо, молча, без предупреждений завершал работу.

Нда. Большое спасибо автору скрипта, который использовал PHP для скрипта! Зачем он использовал не предназначенный для этого язык я не понимаю.
И большое спасибо авторам PHP, за чудо язык, который так забавно себя ведет 🙂

8 thoughts on “Чудо язык PHP

  1. Добрый День!

    Тут наверное, вопрос к автору, зачем он консольный скрипт на php написал ))

    Из командной строки я ни разу скрипты php не запускал, а вот если бы Вы использовали несуществующую функцию в каком-нибудь web сценарии, сразу бы свалилось в лог веб сервера, или, если у Вас в php.ini включено отображать ошибки, то прямо бы и вывелось на странице fatal error)

    При написание web-сценариев, мне какжется php гораздно удобнее, чем perl/

  2. Именно!!! Зачем автор PHP для этого использовал, я так и не понял.

    Пришлось тупо во все строки echo(«»); писать, что бы разобраться где проблема 🙁

    Первая мысль была, что пакет неправильно установлен и побит какой то из файлов. Решил переустановить и вот тут то и обнаружил, что его просто нет.

  3. В php @ ставится для подавления ошибок, и естественно у тебя ничего не выдало про неустановленный модуль.

  4. Первое, что я сделал — убрал @ и тут же получил сообщение о синтаксической ошибке — не такой функции. Не то, что нет модуля, просто синтаксис типа не правильный 🙁

    Это теперь я понимаю, что это означает и как это надо интерпретировать 🙂 А тогда…

  5. bigkaa, согласись, что если у тебя нет опыта работы в php не делает его ужасным языком. Я не защищаю php, мне просто кажется, что вывод который ты сделал из этого случая не логичен.

  6. Дык я и не скрываю, что я не знаю PHP. Но по моему мнению, столь очевидные вещи язык должен предусматривать, особенно, если он позволяет писать не только WEB, но и скрипты.

    Согласитесь, что это существенная недоработка.

  7. Ок! Мне ЭТА ОСОБЕННОСТЬ PHP очень не понравилась! Поэтому я им пользоваться не буду. Есть очень позитивные Питон и Перл.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *