PHP + oracle – – oci8 extension telepítése

Kezdőlap Fórumok Ubuntu Linux PHP + oracle – – oci8 extension telepítése

6 bejegyzés megtekintése - 1-6 / 6
  • Szerző
    Bejegyzés
  • #2121726
    uzsolt
    Felhasználó

      Biztosan így kell fordítani? Én azért egy pillantást vetnék valami instrukcióra.

      (a hibaüzid azt jelenti, hogy nem keletkezett Makefile. Ez amiatt lehet, hogy a ./configure nem futott le jól, ami ebben az esetben szerinted nem teljesül, vagy pedig nem a make-et használja)

      #2121727
      docker
      Felhasználó

        Én sem voltam biztos hogy minden rendesen lefutott de találtam egy alternatív megoldást:

        Letöltöttem a szükséges csomagokat: http://www.oracle.com/technology/tech/oci/instantclient/index.html

        Code:
        ln -s libclntsh.so.10.1 libclntsh.so
        ln -s libocci.so.10.1 libocci.so

        sudo apt-get install php-pear
        sudo apt-get install php5-dev

        sudo pecl install oci8

        // confignál: instantclient,/opt/oracle/instantclient

        és voilá lefordult szépen gond nélkül 🙂 örültem is
        az oci8.so bekerült a /usr/lib/php5/20051025 könyvtárba

        aztán:
        /etc/php5/apache2/php.ini és /etc/php5/cli/php.ini -be bekerült:
        extension: extension=oci8.so

        majd apache restart

        a várakozásom ellenére azonban a phpinfo() említést sem tesz az OCI kiterjesztésről ;(
        Lehet hogy rossz helyre keröl az .so fájl, vagy rossz helyre írtam a configban? …kész rémálom

        #2121728
        docker
        Felhasználó

          A probléma megoldódott 🙂

          Az eredmény:
          OCI8 Support enabled

          A php.ini-be hülyeségeket irkáltam elborultságomban, a helyes megoldás:
          extension=oci8.so

          Emígyen működik…. jó tanulság volt 🙂

          #2121729
          uzsolt
          Felhasználó
            docker wrote:
            Én sem voltam biztos hogy minden rendesen lefutott

            Az esetek nagy részében a visszatérési értékből sokat meg lehet tudni (echo $?), érdemes használni (0 = nincs gond, nem 0 = valami gond van).

            #2121730
            docker
            Felhasználó

              Nagy volt az örömöm, hogy sikerült beállítani az oci8 PHP kiterjesztést, de rá kellett jönnöm hogy használnom is kéne valahogy :S

              Az egyszerű kis csatlakozás scriptre sajna rögtön egy szép kis üzenetet kapok:

              Warning: ocilogon() url=http://]function.ocilogon[/url: ORA-12560: TNS:protocol adapter error in /home/docker/public_html/neptun/connect.php on line 2

              Annyit sikerült kiderítenem hogy létre kell hoznom egy tnsnames.ora fájlt és ebben leírni a kapcsolódáshoz szükséges adatokat:

              Code:
              kapcs_nev =
              (DESCRIPTION =
                (ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST=host_nev)(PORT = 1521))
                )
                (CONNECT_DATA =
                  (SID=adatbazis)
                )
              )

              Valamint szükséges beállítani néhány környezeti változót, ezzel csak az volt a gondom, hogy melyik usernél kell ezt megtennem. Talán a fordításnál kellett volna ezeket megadnom, de ott nem tettem meg :S Így azonban az a gond vele, hogy melyik usernek kell ezt beállítani. tamsa javaslatára az Apache konfigjában adtam meg, hogy szóhoz jusson a PHP is. Így az apache2.conf a következőkkel bővült:

              Code:
              SetEnvIf Request_URI  „php_bin”    LD_LIBRARY_PATH=/opt/oracle/instantclient/:$LD_LIBRARY_PATH
              SetEnvIf Request_URI  „php_bin”    ORACLE_HOME=/opt/oracle/instantclient/:$ORACLE_HOME
              SetEnvIf Request_URI  „php_bin”    TNS_ADMIN=/opt/oracle/network/admin:$TNS_ADMIN

              A probléma sajnos nem változott, még ugyanazta  hibaüzenetet kapom, lehet hogy a környezeti változókkal helytelenül jártam el?

              (Sajnos a topik nyitása után jöttem rá, hogy lehet nem ez a megfelelő hely ennek a témának, nem tudom hogy van-e lehetőség az áthelyezésére…)

              #1886676
              csaba
              Felhasználó

                Oracle adatbázist szeretnék elérni PHP-böl, így telepítenem kell az oci8 extensiont. Mivel a jelenlegi php telepítés teljesen rendben van nem igazán akarnám teljesen újrafordítani.

                Az oracle oldaláról letöltöttem a basic és dev instantclienteket, ezt elhelyeztem az opt könyvtáramban. A szükséges szimlinkeket létrehoztam.

                A http://pecl.php.net oldalról letöltöttem a leg frissebb oci8 csomagot majd ezt kitömörítve végrehajtottam az utasításokat.

                Code:
                cd /usr/local/src
                cd oci8-1.2.3
                phpize
                ./configure –with-oci8=shared,instantclient,/opt/oracle/instantclient

                Megelégedetten tapasztaltam:

                Code:
                PHP Api Version:     20041225
                Zend Module Api No: 20050922
                Zend Extension Api No:  220051025

                Azonban a make -re ezt kaptam:

                Code:
                make: *** No targets specified and no makefile found.  Stop.

                Nem értem mert látszólag minden rendben ment, a phpize-nél sem írt ki config gondot.
                Nagyon megköszönném ha valaki tudna segíteni abban hogy hogyan tudnék továbbhaladni :S

              6 bejegyzés megtekintése - 1-6 / 6
              • Be kell jelentkezni a hozzászóláshoz.