[+] Przystosowanie skryptów do komunikacji php5 i mssql z Suse pod Debiana

Konfiguracja serwerów, usług, itp.
ioo
Posty: 2
Rejestracja: 29 kwietnia 2010, 14:55

[+] Przystosowanie skryptów do komunikacji php5 i mssql z Suse pod Debiana

Post autor: ioo »

Witam.
Ostatnio przeniosłem jeden z serwisów na świeżo zainstalowanego Debiana Lenny i mam kłopot z komunikacją php5-mssql. Skrypty, które wcześniej bezboleśnie działały na Suse teraz wyświetlają błędy. Znalazłem, że pomaga zmiana wersji w konfiguracji freetds, zmieniłem w:

Kod: Zaznacz cały

/etc/freetds/freetds.conf
wersję z 4.2 na 8.0, uruchomiłem skrypt testowy ręcznie z z linii poleceń i zadziałał. Czyli to jest to.

A teraz prawdziwy problem: Dokładnie ten sam skrypt uruchomiony z crona (na tym samym użytkowniku), albo przez apache dalej wyświetla błędy - tak jakby ignorował ustawienia. Sprawdziłem programem strace - cron czyta prawidłowo plik

Kod: Zaznacz cały

/etc/freetds/freetds.conf
ale jakby go ignorował.

System chodzi na Debianie 5.0.4, apache2, php5, php5-sybase zainstalowane z paczek. Komunikacja z MSSQL przez standardowe funkcje (mssql_connect itd.).
Wyświetlany błąd:

Kod: Zaznacz cały

The multi-part identifier "tabela.pole" could not be bound
Dziękuję z góry.

Dodane dla potomnych:
Problem polegał na domyślnym ustawianiu ,,locale ISO-8859-1''. Skrypt uruchamiany ręcznie z powłoki pobierał ustawienia ze środowiska, a skrypt odpalany przez apache, albo z crona - nie. Ustawienie locale na UTF-8 w pliku konfiguracyjnym freetds.conf rozwiązało problem.

W rozwiązywaniu problemu pomocne były ,,debug logi'' z freetdsa (TDSDEBUG).
ODPOWIEDZ