С принтером нужно поиграться. Не знаю как сейчас обстоят дела с этим, когда-то можно было послать тесктовой файл на порт принетра и он его печатал. То есть Вам нужно научиться печатать текстовой файл из командной строки, и вызывать эту команду из PHP. Пробуйте гуглить «how to print text file from command line windows (linux)»
Корень Вашей проблемы в том, что кто-то рассчитывает получить больше, чем заработал (нет-нет, не ЗАСЛУЖИЛ, а именно заработал). Если Вы задумаетесь, то поймёте, кто этот (или эти) кто-то. Делайте выводы сами.
Интересная задача. А попробуйте вытянуть имена классов помощи get_declared_classes() и переопределить их пустыми: class Foo {}, используя eval() например. Расскажите, какой эффект был.
Попробуйте сравнивать слова, а не символы. В общем это — Байесовская категоризация. Но если у Вас действительно ~30 текстов а не 30тыс, то это проще сделать руками :)
У меня наблюдалось тоже самое, Fedora 17. Очень редко, так что я и не копал, но несколько фоток попртилось, да. mogrify я не использовал так что дело не в ней. KDE.
Макконел рекомендует (насколько я помню) — если возможно, разделяйте функцию на две например isSearchRequestValid() и doSearch() если что-то пошло не так в doSearch() то это эксепшн, но пользователь получает «Server error» а разработчик получает алерт с трэйсом.
Если еще можно сменить БД — меняйте. Я же сделал небольшой трик — разбросал коллекции по разным базам, так как лочится база, а не весь сервер (начиная с версии 2.2). Немного неудобно, но в коде изменения минимальные. и qr=0 почти всегда (в моём случае).
когда-то решал точно такую же задачу, пришел к тому, что скрипт генерировал гарантированно уникальные ID и складывал в буффер, кому нужно было просто брали из буффера.