2010-08-16 4 views
6

J'utilise Debian. J'ai unixODBC installé ainsi que FreeTDS. J'utilise PHPunixODBC Freetds PHP Problème

J'ai lu plusieurs How-Tos et je suis bloqué sur un problème.

J'ai testé FreeTDS en utilisant tsql et cela fonctionne.

J'ai testé unixODBC en utilisant isql et cela fonctionne.

Lorsque j'ai créé un script en PHP et essayé d'accéder à une base de données, j'ai les erreurs suivantes.

Erreur fatale: Appel à odbc_connect undefined function()

J'ai trouvé des fichiers php.ini multiples. Quel est celui qu'utilise Apache2? Y at-il quelque chose là-dedans qui doit être fixé.

Y a-t-il un paramètre que j'ai manqué de définir qui n'était pas dans le How-Tos?

Toute aide est grandement appréciée.

+0

Il ya généralement un fichier php.ini pour cli et apache2 – jjclarkson

Répondre

3

Vous devrez peut-être fournir des variables d'environnement pour pointer vers l'emplacement de vos fichiers de configuration ODBC:

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

Cela fonctionne pour moi de se connecter à plusieurs bases de données ODBC. (Vos fichiers de configuration peuvent être ailleurs)

+0

Hi - Ces variables peuvent être nécessaires. Mais le problème immédiat est "Appel à la fonction indéfinie odbc_connect()". Sanmai est correct - l'OP doit d'abord installer php5-mssql et/ou php5-odbc. – paulsm4

+0

@ shrikant-soni a déclaré qu'il a installé ceux dans son commentaire, je suppose qu'il a essayé cela et cela n'a pas fonctionné, peut-être changer son message d'erreur ??? – jjclarkson

+0

Peut-être qu'il n'a pas redémarré Apache après l'installation. – sanmai

2
  1. Vous devez installer php5-mssql et/ou php5-odbc. Je vous recommande d'installer les deux juste à coup sûr.

  2. Fichiers de /etc/php5/conf.d/ et /etc/php5/apache2/php.ini utilisés pour stocker les options de configuration PHP dans Debian.

+0

Ne fonctionne pas.Après les étapes que vous avez dites, mais ne fonctionne pas! –