Статьи

Oracle 10g XE и PHP

Если вы пропустили это, вчера Oracle анонсировала бесплатную (как в пиве) версию своей базы данных — Oracle 10g Express Edition (XE) — в основном «облегченную» версию — здесь представлен некоторый отраслевой анализ. Значение этого шага в стороне, интереснее играть. Сегодня удалось получить эквивалент «Hello World» из PHP в Oracle менее чем за 1,5 часа (столкнулся с определенным сбоем, который требовал переустановки, в противном случае было бы меньше времени). Вот как…

Скачать можно здесь . Имейте в виду, что у вас есть несколько ссылок, по которым нужно перейти, онлайновая форма лицензии для согласования (установите все флажки) и, наконец, регистрация для заполнения, прежде чем вы приступите к фактической загрузке. Сама загрузка составляет около 150 МБ, и вашей системе потребуется как минимум 250 МБ оперативной памяти, доступной для фактического запуска БД.

В моем случае его установили под Windows XP. Также есть версия для Linux, которую я попробую в Ubuntu позже на этой неделе (недавно были проблемы с жестким диском, что означало переустановку всего). Пока ничего не доступно для OSX (хотя стандартная база данных Oracle поддерживает OSX, так что ожидайте, что это вопрос времени).

Как только вы загрузили его, запустите установщик. Он попросит вас ввести пароль для пользователя «systen» (подумайте «пользователь root»), который вы должны обязательно запомнить. Остальная часть установки заключается в нажатии кнопки «Далее». По завершении он запускает браузер, чтобы вы могли войти в локальный экземпляр HTMLDb — что-то примерно эквивалентное phpMyAdmin. В общем, если вы когда-либо пытались установить полную базу данных Oracle, эта установка сравнительно проста (даже установщик на основе Java — InstallShield, я полагаю, но мог ошибаться).

Для входа вам понадобится имя пользователя «system» и пароль, которые вы ввели в процессе установки. Затем вам необходимо следовать инструкциям, приведенным в руководстве «Начало работы» (установщик добавляет ссылку на руководство в меню «Пуск»), в частности, как включить пользователя «HR».

После этого следующим шагом будет PHP. Прежде всего, вам нужно создать пару переменных среды (Панель управления> Система> Дополнительно> Переменные среды);

  • ORACLE_SID = XE
  • ORACLE_HOME = C:oraclexeapporacleproduct10.2.0server

Если вы используете Apache в качестве службы Windows, проще всего сейчас перезагрузить Windows.

Теперь отредактируйте ваш php.iniextension=php_oci8.dllextension_dir Перезапустите Apache и проверьте ваш phpinfo() Если вы не получаете сообщений об ошибках, связанных с неспособностью найти php_oci8.dll, все, вероятно, хорошо. Если вы получаете это сообщение об ошибке, либо DLL действительно не может быть найдена (проверьте, что она существует в вашем extension_dir

Предполагая, что все прошло хорошо, и вы можете увидеть расширение OCI8, указанное phpinfo()

 <? PHP
 $ conn = oci_connect ('hr', 'hr');  // Предполагается, что вы следовали руководству по началу работы ...

 $ sql = "SELECT * FROM сотрудников";

 $ stmt = oci_parse ($ conn, $ sql);

 oci_execute ($ STMT);

 echo '<pre>';

 while ($ row = oci_fetch_assoc ($ stmt)) {
   print_r ($ строка);
 }

 echo '</ pre>';
 ?>

У Oracle есть много дополнительной информации для разработчиков PHP здесь .

Судя по чтению и небольшой игре, которую я сделал, за исключением ограничений на ресурсы (один дБ на систему, 1 ГБ или максимум памяти, макс. Размер базы данных 4 ГБ), кажется, что он обладает всеми функциями как обычная БД Oracle (было бы интересно услышать больше информации об этом, если у кого-то есть).

Обратите внимание, что глюк, который я включил, который может помочь неамериканским пользователям, был при первой попытке установки с Windows, установленным на швейцарский немецкий в качестве предпочтительного языка, что привело к ORA-27101, когда я попытался войти в систему с SQL * Plus (и HTMLDb не будет ‘ т начало). Переключение на американский английский (Панель управления> Региональные настройки> сделать все «американским английским» на всех вкладках) решило эту проблему после переустановки.

В любом случае — в целом приятный опыт установки. Oracle определенно «разработал», чтобы начать безболезненно. Трудно сказать, приведет ли это к большому распространению среди тех, кто мог бы выбрать БД с открытым исходным кодом. С учетом ограничений на использование ресурсов Oracle XE, я сомневаюсь, что это действительно вариант для общих хостов, но он может быть полезен для поставщиков программного обеспечения, которым необходимо распространять БД вместе со своими продуктами. Для разработчиков это, безусловно, хорошее место, чтобы начать знакомство с Oracle.