2008-07-01 17:01:01

PHP 5 + Oracle Client 11 на RHEL 4

Про работу PHP Oracle Linux

Выстраданное долгими часами на работе практическое пособие по установке

PHP 5 + Oracle Instant Client 11 на RedHat Enterprise Linux 4

Очень удобно что много библиотек для php представлены в виде rpm на болванке, это немного упростило задачу. Итак вашему вниманию инструкция из 12 пунктов:

0. Изначально имеем установленный RHEL4 с предустановленным PHP 4.3.9 и MySQL 4.1

Сразу хочется оговориться насчет путей, они все спецефичны для RHEL 4 и на других системах и версиях могут быть другими.

1. Ставим Oracle Client

В моем случае это 11 версия, тк 10 не пошло. Благо клиент доступен в rpm. В общем ставим

oracle-instantclient-basic-11.1.0.1-1.i386.rpm
oracle-instantclient-devel-11.1.0.1-1.i386.rpm

Эти rpm доступны на официальном сайте оракла, но требуется регистрация для скачивания, но можно поискать на filesearch и может что найдется

Для меня нашлось на http://eduunix.ccut.edu.cn/index/database/Oracle%20Instant%20Client/ но качалось очень медленно.

Читать дальше...

2007-12-23 21:26:37

Осваиваем мыло в UTF-8

Про работу PHP

Точнее не осваиваем а уже освоено. Изначальная трабла: если слать мыло в любом чарсете и впихивать в сабжект и from корректно закодированные строки, то почтовик все равно выводит караказяблы. Изучение сырцов писем и чтение гуглев принесло решение проблемы. Да еще и чтоб соответствовать моде теперь мыло расходится в UTF-8.

Вот кодина которая корректно шлет мыло в UTF-8 и читается почтовиками нормально (проверено на mozilla firefox):

$from = "=?UTF-8?B?".base64_encode(iconv('windows-1251', 'UTF-8', $name))."?= <$email>";
$subj = "=?UTF-8?B?".base64_encode(iconv('windows-1251', 'UTF-8', $subj))."?=";
$text = iconv('windows-1251', 'UTF-8', $text);
mail($to, $subj, $text, "From: $from\r\nReply-To: $email\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n");

Особенность состоит в том, что для корректной читабельности в почтовиках приходится добавлять указание на кодировку (=?UTF-8?B? ... ?=) и base64_encode -- Encodes data with MIME base64. Теперь мыло расходится в UTF-8 и читается отлично