2010-08-16 17 views
6

Sto usando Debian. Ho unixODBC installato e FreeTDS. Sto usando PHPunixODBC Freetds PHP Problema

Ho letto diversi How-Tos e sono bloccato su un problema.

Ho testato FreeTDS utilizzando tsql e funziona.

Ho testato unixODBC utilizzando isql e funziona.

Quando ho creato uno script in PHP e ho provato ad accedere a un database, ottengo i seguenti errori.

Fatal error: Call to undefined function odbc_connect()

ho trovato più file php.ini. Qual è quello che Apache2 utilizza? C'è qualcosa in là che deve essere impostato.

C'è qualche impostazione che ho mancato di impostare che non era in How-Tos?

Tutto l'aiuto è molto apprezzato.

+0

Di solito c'è un file php.ini per cli e apache2 – jjclarkson

risposta

3

Potrebbe essere necessario fornire variabili di ambiente per puntare alla posizione dei file di configurazione ODBC:

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

Questo funziona per me mi colleghi a diversi database ODBC. (I tuoi file di configurazione potrebbero essere da qualche altra parte)

+0

Hi - Queste variabili potrebbero essere necessarie. Ma il problema immediato è "Chiamata alla funzione non definita odbc_connect()". Sanmai è corretto - l'OP deve prima installare php5-mssql e/o php5-odbc. – paulsm4

+0

@ shrikant-soni ha dichiarato di aver installato quelli nel suo commento, presumo che ci abbia provato e non ha funzionato, forse cambiando il suo messaggio di errore ??? – jjclarkson

+0

Forse non ha riavviato Apache dopo l'installazione. – sanmai

2
  1. È necessario installare php5-mssql e/o php5-odbc. Ti consiglierei di installarli entrambi di sicuro.

  2. File da /etc/php5/conf.d/ e /etc/php5/apache2/php.ini utilizzati per memorizzare le opzioni di configurazione PHP in Debian.

+0

Non funziona. Seguito dei passi che hai detto, ma non funzionante! –

Problemi correlati