ADMin Портал!

Партнеры


Профиль



Добро пожаловать,
Гость

54.198.27.243

Регистрация или вход
Потеряли пароль?

Сейчас онлайн
Администраторы:0
Пользователей:0
Гостей:54
Поисковые боты:1

Всего:55

Кнопки




Исходный код

Статьи

Ubuntu

Мои избранные статьи, которыми я пользуюсь и чтобы не забыть
PHP5 + Oracle Instant Client x86x64
Tested Environments:
  • Oracle Instant Client 11.2
  • Ubuntu 13 x64

    Oracle server v9 использует Oracle Instant Client версия не выше 11!
    Prerequisites:
    Код
    1
    2
    3
    sudo apt-get install build-essential
    sudo apt-get install php5-dev php-pear libaio1
    sudo apt-get install libaio-dev



    Instant Client installation requires some environment variables to be able to see the library folder. Edit /etc/environment and add at the end:
    Зададим переменные окружения:
    я исмользую MC
    Код
    1
    sudo mc

    в файл /etc/environment дописываем
    # Oracle Instant Client
    Код
    1
    2
    3
    4
    5
    LD_LIBRARY_PATH="/usr/local/lib/instantclient_11_2"
    TNS_ADMIN="/usr/local/lib/instantclient_11_2"
    ORACLE_BASE="/usr/local/lib/instantclient_11_2"
    ORACLE_HOME=$ORACLE_BASE
    OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include


    Скачиваем:
    instantclient-basic-linux-11.2.0.4.0.zip (58,793,148 bytes)
    instantclient-sdk-linux-11.2.0.4.0.zip (643,080 bytes)

    Then download the ZIP x64 x86 Oracle Instant Client from Oracle (you will need to create an account).
    You will need the Basic (48MB) and SDK (600K). The Basic Lite version does not work.

    http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    sudo unzip <location-of-instant-client-basic>
    sudo unzip <location-of-instant-client-sdk>

    Код
    1
    2
    cd /usr/local/lib/instantclient_11_2
    sudo ln -s libclntsh.so.11.1 libclntsh.so


    The symbolic link is needed during the compilation step later.
    Код
    1
    sudo pecl install oci8

    You will be prompted also for the ORACLE_HOME location, type 'all', accept and then insert:
    Код
    1
    instantclient,/usr/local/lib/instantclient_11_2

    PHP5 Instructions
    You should now create a new oci8.ini file which will be included when loading php.ini
    (Editing the php.ini is discouraged):
    Код
    1
    nano /etc/php5/conf.d/oci8.ini

    this will create a blank file; add to this file:
    Код
    1
    extension=oci8.so


    Old Instructions (Maybe PHP4)
    If successful, you may now add the following line at the bottom of php.ini
    extension=oci8.so
    The php.ini is found in 2 places: /etc/php5/apache2/php.ini and /etc/php5/cli/php.ini
    sudo /etc/init.d/apache2 reload
    Check
    PHP - Код
    1
    <?php
    echo phpinfo()
    ?>

    to verify if the oci8 module is available.

    Использование -> Коннектимся к БД


    PHP - Код
    1
    <?php
    PutEnv
    ("NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251");
    #обязательное указываем кодировку, иначе получим ???????????????????????? вместо текста
    PutEnv("NLS_DATE_FORMAT=DD.MM.YYYY");

    // Connects to the XE service (i.e. database) on the "localhost" machine
    $conn oci_connect(&#039;hr', 'welcome', 'localhost/XE');
    if (!$conn) {
        
    $e oci_error();
        
    trigger_error(htmlentities($e[&#039;message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid oci_parse($conn, &#039;SELECT * FROM employees');
    oci_execute($stid);

    echo 
    "<table border='1'>
    "
    ;
    while (
    $row oci_fetch_array($stidOCI_ASSOC+OCI_RETURN_NULLS)) {
        echo 
    "<tr>
    "
    ;
        foreach (
    $row as $item) {
            echo 
    "    <td>" . ($item !== null htmlentities($itemENT_QUOTES) : "&nbsp;") . "</td>
    "
    ;
        }
        echo 
    "</tr>
    "
    ;
    }
    echo 
    "</table>
    "
    ;
    ?>



    Пример авторизации:

    PHP - Код
    1
    <?php
    if($ORACLE_BD OCILogon($login$passwd $db)) {
    echo 
    "Oracle Connected!";
    }
    else {
    $err OCIError();
    echo 
    "Oracle Connect Error " $err[text]; die();
    }
    ?>

    Дата публикации: 03.03.2015
    Прочитано: 31957 раз
  • Нет комментариев. Почему бы Вам не оставить свой?
    Ваше имя:
    Комментарий:
    Секретный код:Секретный код
    Повторить:
    Антиспам:



    Powered by SLAED CMS © 2005-2007 SLAED. All rights reserved.