2010-08-16 14 views
6

Używam Debiana. Mam zainstalowany system UnixODBC oraz FreeTDS. Używam PHPUnixODBC Freetds PHP Problem

Przeczytałem kilka How-Tos i utknąłem na problem.

Testowałem FreeTDS przy użyciu tsql i to działa.

Przetestowałem unixODBC przy użyciu isql i to działa.

Kiedy utworzyłem skrypt w PHP i próbowałem uzyskać dostęp do bazy danych, otrzymuję następujące błędy.

Fatal error: Zadzwoń do niezdefiniowanej funkcji odbc_connect()

znalazłem wiele plików php.ini. Którego używa Apache2? Czy jest coś, co należy ustawić?

Czy jest jakieś ustawienie, które spowodowało utratę ustawień, której nie było w programie How-Tos?

Cała pomoc jest bardzo doceniana.

+0

Zwykle jest plik php.ini dla cli i apache2 – jjclarkson

Odpowiedz

3

może być konieczne, aby zapewnić zmienne środowiskowe, aby wskazać lokalizację plików konfiguracyjnych ODBC:

<?php 
putenv("FREETDSCONF=/etc/freetds/freetds.conf"); 
putenv("ODBCSYSINI=/etc/odbcinst.ini"); 
putenv("ODBCINI=/etc/odbc.ini"); 

Działa to dla mnie podłączyć do kilku baz danych ODBC. (Twoje pliki konfiguracyjne mogą znajdować się gdzieś indziej)

+0

Witam - Te zmienne mogą być potrzebne. Ale bezpośrednim problemem jest "Wezwanie do niezdefiniowanej funkcji odbc_connect()". Sanmai jest poprawna - OP musi najpierw zainstalować php5-mssql i/lub php5-odbc. – paulsm4

+0

@ shrikant-soni stwierdził, że zainstalował te w swoim komentarzu, zakładam, że próbował tego i to nie działało, być może zmieniając swój komunikat o błędzie ??? – jjclarkson

+0

Być może nie wznowił Apache po instalacji. – sanmai

2
  1. Musisz zainstalować php5-mssql i/lub php5-odbc. Zalecam zainstalowanie obu na pewno.

  2. Pliki z /etc/php5/conf.d/ i /etc/php5/apache2/php.ini używane do przechowywania opcji konfiguracji PHP w Debianie.

+0

Nie działa. Wypowiedział kroki, które powiedziałeś, ale nie działają! –

Powiązane problemy