Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z OCI8.dll
Forum PHP.pl > Forum > Bazy danych > Oracle
fyfek
część! mam mały problem.

Zainstalowałem sobie na Windowsie XP i skonfigurowałem
-apache 2.2.10
-php 5.2.6
-Oracle Database 10g Express Edition v10.2.1015

wszystko działa ale jak chce sie połączyć przez skrypt z bazą danych to mi wyskakuje błąd

  1. <?php
  2. $db_conn = oci_connect("login", "hasło", "//127.0.0.1/XE");
  3. ...
  4. ?>


Fatal error: Call to undefined function oci_connect() in ...

po poszukiwaniach na google okazało sie że cos musi być z oci8.dll
sprawdziłem jest odznaczone w php.ini czyli powinno chodzić ale jak sprawdziłem przez phpinfo() to ta biblioteka nie ładuje się, w ogóle jej nie pokazuje. szukałem jak to naprawić ale nic nie pomogło.

Póżniej pomyslałem że zainstaluje gotowa konfiguracje apache+php więc tak zrobiłem i mam teraz WampServer 2.0c pożniej odznaczyłem kolejny raz php_oci8.dll zrestartowalem serwer i nadal nie laduje tego i wyskakuja mi te błędy.
Baza oracle mi chodzi bo moge wejsc na http://127.0.0.1:8080/apex/ logowac sie dodawac bazy itd.

Juz sam niewiem czemu to oci8 niechce mi sie ładować szukałem na google ale nic konkretnego nie znalazłem, będe wdzieczny jesli ktos ma jakiś pomysł.
Method
hmm powodów może być dużo. ale od kiedy siegam pamięcią zawsze miałem problemy z odpaleniem OCI smile.gif
może pomoże to:
http://forums.devnetwork.net/viewtopic.php...85&p=455321
atomp3
w php.ini w extensions osfblokuj oci.dll

sciagnij klienta 10g i z niego przekopiuj oci.dll do widnows/system32 i bedzie dzialac
motorider
W php.ini mam odkomentowane tylko extension=php_oci8.dll ponieważ nigdzie nie widze oci.dll, oci.dll przekopiowałem do windows/system32. Teraz mam taki błąd
CODE
Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in D:\Apache2.2\htdocs\oci8test.php on line 3


3 linia kodu to:
CODE
$db_conn = oci_connect("system", "oracle", "//127.0.0.1/XE");
Bart77
Miałem coś podobnego, ale parę lat temu i pamięć zawodzi smile.gif Spróbuj jeszcze pożonglować bibliotekami, poszukaj w katalogu klienta Oracle'a jakichś dll-ek z "odpowiednimi" nazwami i powrzucaj je do extensions w php.

Skąd wziąłeś to oci.dll ?

Pamiętam jeszcze że w funkcji łączącej z Oraclem podawałem chyba jakieś ścieżki, ale ni cholery nie wiem jakie smile.gif Nawet nie wiem, czy używałem wtedy oci_* czy ora_*... Oracle_home to było, czy coś takiego... Ale nie miałem takiego komunikatu jak ten twój drugi, tylko zwykły że nie może się połączyć.

O, znalazłem w archiwach smile.gif

  1. <?php
  2. $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = $cf_db_server)(PORT = $cf_db_port)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=$cf_db_name)))";
  3. $connection1 = OCILogon($cf_db_login, $cf_db_passwd, $db);
  4. ?>


Pewnie Ci to nie pomoże, ale więcej nie pamiętam sad.gif

BTW, dopiero teraz się wczytałem:

Cytat
please check that PATH includes the directory with Oracle Instant Client libraries


Może dorzuć tę ścieżkę do PATH ? Tylko potem restart.
motorider
Trochę wstyd się przyznać, ale pomógł restart kompa.
bilu
Witam Państwa.

mam wrażenie, że spróbowałem wszystkiego, co tutaj opisaliście i dalej nie mam oci.
a już odkomentowałem/dopisałem:
Kod
extension=php_oci8.dll
extension=php_oracle.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll

i mam te biblioteki (php_oracle.dll gdzieś z netu) i jeszcze gdzieś poznajdywałem oracle.dll, oci.dll i wrzuciłem do windows/system32 i restartowałem, i... i piszę, więc nie pomogło...

help
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.