2009-01-04, 22:35:04
Po domyślnej instalacji PHP nie mamy obsługi dla serwerów MSSQL.
Wywołanie typowej MSSQL-owskiej funkcji skończy sie komunikatem, poniżej próba połączenia sie.
By temu zaradzić musimy skompilować PHP z obsługą MSSQL, do tego będą nam potrzebne biblioteki FreeTDS.
Krok 1
Ustawienie odpowiedniego źródła pakietów dla apt w etc/apt/sources.list:
Możesz tego dokonać edytorem nano lub vim, lub za pomocą WinSCP jeżeli robisz to z zewnętrznego komputera.
Krok 2
Aktualizacja pakietów zgodnie z nowymi sources.list
Krok 3
Aktualizacja dystrybucji do Lenny
Krok 4
Ściągnięcie, kompilacja i instalacja bibliotek FreeTDS
Krok 5
Uzupełnienie FreeTDS-a
Krok 6
Ściągnięcie źródeł PHP5
Instalacja potrzebnych zależności (bibliotek) potrzebnych do kompilacji
Krok 7
Zmiana ustawień w źródłach, dodanie modułu MSSQL, podanie ścieżki dla Free TDS, dodanie informacji o pakiecie.
I
Pod wpisem:
Dodaj wpis:
II
Znajdź wpis:
Zamień go na (ustawienie ścieżki dla FreeTDS):
INFO: Może sie okazać, że nie znajdziesz wpisu:W takim wypadku musisz go po prostu dodać z poprawioną ścieżką dla FreeTDS tak jak wyżej.
III
Dodaj na końcu pliku:
Krok 8
Kompilacja i instalacja pakietu
Jeżeli kompilacja sie uda to w tym samym folderze znajdziesz dużo paczek.
Potrzebujemy tylko jedną z naszym MSSQL, dlatego wywołaj polecenie:
Krok 9
Dodanie ścieżki biblioteki dla PHP
Dodaj nieważne gdzie:
Krok 10
Reset apache2
Gotowe .
Jeżeli masz jakiś problem napisz w tym wątku.
Wywołanie typowej MSSQL-owskiej funkcji skończy sie komunikatem, poniżej próba połączenia sie.
Kod:
Fatal error: Call to undefined function mssql_connect()
Krok 1
Ustawienie odpowiedniego źródła pakietów dla apt w etc/apt/sources.list:
Kod:
deb http://debian.ludost.net/debian/ testing main contrib non-free
deb-src http://debian.ludost.net/debian/ testing main contrib non-free
deb http://ftp.pl.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp.pl.debian.org/debian/ lenny main non-free contrib
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
Możesz tego dokonać edytorem nano lub vim, lub za pomocą WinSCP jeżeli robisz to z zewnętrznego komputera.
Kod:
nano /etc/apt/sources.list
Krok 2
Aktualizacja pakietów zgodnie z nowymi sources.list
Kod:
apt-get update
Krok 3
Aktualizacja dystrybucji do Lenny
Kod:
apt-get upgrade
Krok 4
Ściągnięcie, kompilacja i instalacja bibliotek FreeTDS
Kod:
cd /usr/src/
mkdir -p freetds
cd freetds
wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar -xvzf freetds-stable.tgz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld
make
make install
Krok 5
Uzupełnienie FreeTDS-a
Kod:
apt-get install tdsodbc freetds-common freetds-dev
Krok 6
Ściągnięcie źródeł PHP5
Kod:
cd /usr/src
apt-get source php5
Instalacja potrzebnych zależności (bibliotek) potrzebnych do kompilacji
Kod:
apt-get build-dep php5
Krok 7
Zmiana ustawień w źródłach, dodanie modułu MSSQL, podanie ścieżki dla Free TDS, dodanie informacji o pakiecie.
Kod:
cd php5-2.6.5/debian
Kod:
nano modulelist
Kod:
mysql MySQL
Kod:
mssql MSSQL
Kod:
nano rules
Kod:
--with-mssql=shared,/usr \
Kod:
--with-mssql=shared,/usr/local/freetds \
Kod:
--with-mssql=shared,/usr \
III
Kod:
nano control
Dodaj na końcu pliku:
Kod:
Package: php5-mssql
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}, php5-common (= ${Source-Version})
Description: MSSQL module for php5
This package provides a module for MSSQL using FreeTDS.
.
PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
from C, Java and Perl with a couple of unique PHP-specific features thrown
in. The goal of the language is to allow web developers to write
dynamically generated pages quickly.
Krok 8
Kompilacja i instalacja pakietu
Kod:
cd /usr/src
Kod:
dpkg-buildpackage
Jeżeli kompilacja sie uda to w tym samym folderze znajdziesz dużo paczek.
Potrzebujemy tylko jedną z naszym MSSQL, dlatego wywołaj polecenie:
Kod:
dkpg -i php5-mssql_5.2.6-5_i386.deb
Krok 9
Dodanie ścieżki biblioteki dla PHP
Kod:
nano /etc/php5/apache2/php.ini
Kod:
extension_dir = "/usr/lib/php5/20060613+lfs/"
extension=mssql.so
Krok 10
Reset apache2
Kod:
invoke-rc.d apache2 restart
Gotowe .
Jeżeli masz jakiś problem napisz w tym wątku.
Chcesz pomóc? Wstaw jako sygnature na innym forum:
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522
Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522
Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF