Udostępnij przez


Samouczek instalacji systemów Linux i macOS dla sterowników firmy Microsoft dla języka PHP dla programu SQL Server

W poniższych instrukcjach przyjęto założenie czystego środowiska i pokazano, jak zainstalować środowisko PHP 8.1, sterownik Microsoft ODBC, serwer internetowy Apache oraz sterowniki firmy Microsoft dla języka PHP dla programu SQL Server w systemach Ubuntu, Red Hat, Debian, SUSE, Alpine i macOS. Te instrukcje zawierają porady dotyczące instalowania sterowników przy użyciu listy PECL, ale można również pobrać wstępnie utworzone pliki binarne ze strony projektu Microsoft Drivers for PHP for SQL Server GitHub i zainstalować je zgodnie z instrukcjami w temacie Ładowanie sterowników firmy Microsoft dla języka PHP dla programu SQL Server. Aby uzyskać wyjaśnienie ładowania rozszerzenia i dlaczego nie dodajemy rozszerzeń do php.ini, zobacz sekcję dotyczącą ładowania sterowników.

Poniższe instrukcje domyślnie instalują język PHP 8.1 przy użyciu programu pecl install, jeśli są dostępne pakiety PHP 8.1. Może być konieczne uruchomienie pecl channel-update pecl.php.net najpierw. Niektóre obsługiwane dystrybucje systemu Linux są domyślne dla języka PHP 7.1 lub starszego, co nie jest obsługiwane w przypadku najnowszej wersji sterowników PHP dla programu SQL Server. Zapoznaj się z uwagami na początku każdej sekcji, aby zainstalować zamiast tego środowisko PHP 8.2 lub 8.3.

Dostępne są również instrukcje dotyczące instalowania programu PHP FastCGI Process Manager, PHP-FPM w systemie Ubuntu. PHP-FPM jest wymagany, jeśli używasz serwera internetowego nginx zamiast apache.

Chociaż te instrukcje zawierają polecenia służące do instalowania sterowników SQLSRV i PDO_SQLSRV, sterowniki mogą być instalowane i działać niezależnie. Użytkownicy korzystający z dostosowywania konfiguracji mogą dostosować te instrukcje, aby były specyficzne dla usługi SQLSRV lub PDO_SQLSRV. Oba sterowniki mają te same zależności, z wyjątkiem wskazanych poniżej.

Proszę zapoznać się z Macierzą obsługi w celu uzyskania informacji o najnowszych obsługiwanych wersjach systemów operacyjnych.

Uwaga / Notatka

Upewnij się, że zainstalowano najnowszą wersję sterownika ODBC, aby zapewnić optymalną wydajność i bezpieczeństwo. Aby uzyskać instrukcje dotyczące instalacji, zobacz Zainstaluj sterownik Microsoft ODBC dla programu SQL Server (Linux) lub Zainstaluj sterownik Microsoft ODBC dla programu SQL Server (macOS).

Instalowanie w systemie Ubuntu

Uwaga / Notatka

Aby zainstalować język PHP 8.2 lub 8.3, zastąp ciąg 8.1 ciągiem 8.2 lub 8.3 w następujących poleceniach.

Krok 1. Instalowanie języka PHP (Ubuntu)

sudo su
add-apt-repository ppa:ondrej/php -y
apt-get update
apt-get install php8.1 php8.1-dev php8.1-xml -y --allow-unauthenticated

Krok 2. Instalowanie wymagań wstępnych (Ubuntu)

Zainstaluj sterownik ODBC dla systemu Ubuntu, postępując zgodnie z instrukcjami w temacie Instalowanie sterownika Microsoft ODBC dla programu SQL Server (Linux). Upewnij się również, że zainstalowano pakiet unixodbc-dev. Jest używany przez polecenie pecl do instalowania sterowników PHP.

sudo apt-get install unixodbc-dev

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (Ubuntu)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.1 sqlsrv pdo_sqlsrv

Jeśli w systemie istnieje tylko jedna wersja JĘZYKA PHP, ostatni krok można uprościć do phpenmod sqlsrv pdo_sqlsrv.

Krok 4. Instalowanie oprogramowania Apache i konfigurowanie ładowania sterowników (Ubuntu)

sudo su
apt-get install libapache2-mod-php8.1 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php8.1
exit

Krok 5. Uruchom ponownie oprogramowanie Apache i przetestuj przykładowy skrypt (Ubuntu)

sudo service apache2 restart

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Instalowanie w systemie Ubuntu przy użyciu PHP-FPM

Uwaga / Notatka

Aby zainstalować język PHP 8.2 lub 8.3, zastąp ciąg 8.1 ciągiem 8.2 lub 8.3 w następujących poleceniach.

Krok 1. Instalowanie środowiska PHP (Ubuntu przy użyciu PHP-FPM)

sudo su
add-apt-repository ppa:ondrej/php -y
apt-get update
apt-get install php8.1 php8.1-dev php8.1-fpm php8.1-xml -y --allow-unauthenticated

Sprawdź stan usługi PHP-FPM, uruchamiając następujące polecenie:

systemctl status php8.1-fpm

Krok 2. Instalowanie wymagań wstępnych (Ubuntu z PHP-FPM)

Zainstaluj sterownik ODBC dla systemu Ubuntu, postępując zgodnie z instrukcjami w temacie Instalowanie sterownika Microsoft ODBC dla programu SQL Server (Linux). Upewnij się również, że zainstalowano pakiet unixodbc-dev. Jest używany przez polecenie pecl do instalowania sterowników PHP.

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (Ubuntu z PHP-FPM)

sudo pecl config-set php_ini /etc/php/8.1/fpm/php.ini
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.1 sqlsrv pdo_sqlsrv

Jeśli w systemie istnieje tylko jedna wersja JĘZYKA PHP, ostatni krok można uprościć do phpenmod sqlsrv pdo_sqlsrv.

Sprawdź, czy sqlsrv.ini i pdo_sqlsrv.ini znajdują się w pliku /etc/php/8.1/fpm/conf.d/:

ls /etc/php/8.1/fpm/conf.d/*sqlsrv.ini

Uruchom ponownie usługę PHP-FPM:

sudo systemctl restart php8.1-fpm

Krok 4. Instalowanie i konfigurowanie serwera nginx (Ubuntu z PHP-FPM)

sudo apt-get update
sudo apt-get install nginx
sudo systemctl status nginx

Aby skonfigurować serwer nginx, należy edytować /etc/nginx/sites-available/default plik. Dodaj index.php do listy poniżej sekcji z informacją # Add index.php to the list if you are using PHP:

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;

Następnie usuń komentarz i zmodyfikuj sekcję w następujący # pass PHP scripts to FastCGI server sposób:

# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

Krok 5. Uruchom ponownie serwer nginx i przetestuj przykładowy skrypt (Ubuntu z PHP-FPM)

sudo systemctl restart nginx.service

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Instalowanie w systemie Red Hat

Krok 1. Instalowanie języka PHP (Red Hat)

Aby zainstalować język PHP w systemie Red Hat 7, uruchom następujące polecenia:

Uwaga / Notatka

Aby zainstalować język PHP 8.2 lub 8.3, zastąp ciąg remi-php81 remi-php82 lub remi-php83 odpowiednio w następujących poleceniach.

sudo su
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
subscription-manager repos --enable=rhel-7-server-optional-rpms
yum install yum-utils
yum-config-manager --enable remi-php81
yum update
# Note: The php-pdo package is required only for the PDO_SQLSRV driver
yum install php php-pdo php-pear php-devel

Aby zainstalować język PHP w systemie Red Hat 8, uruchom następujące polecenia:

Uwaga / Notatka

Aby zainstalować PHP 8.2 lub 8.3, w następujących poleceniach zamień remi-8.1 na remi-8.2 lub remi-8.3 odpowiednio.

sudo su
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf install yum-utils
dnf module reset php
dnf module install php:remi-8.1
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
dnf update
# Note: The php-pdo package is required only for the PDO_SQLSRV driver
dnf install php-pdo php-pear php-devel

Krok 2. Instalowanie wymagań wstępnych (Red Hat)

Zainstaluj sterownik ODBC dla oprogramowania Red Hat 7 lub 8, postępując zgodnie z instrukcjami w temacie Instalowanie sterownika MICROSOFT ODBC dla programu SQL Server (Linux). Upewnij się również, aby zainstalować pakiet unixodbc-dev. Służy do używania polecenia pecl w celu instalacji sterowników PHP.

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (Red Hat)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/30-pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20-sqlsrv.ini
exit

Alternatywnie można zainstalować z repozytorium Remi:

sudo yum install php-sqlsrv

Krok 4. Instalowanie oprogramowania Apache (Red Hat)

sudo yum install httpd

SeLinux jest instalowany domyślnie i działa w trybie wymuszania. Aby umożliwić platformie Apache łączenie się z bazami danych za pośrednictwem środowiska SELinux, uruchom następujące polecenie:

sudo setsebool -P httpd_can_network_connect_db 1

Krok 5. Uruchom ponownie oprogramowanie Apache i przetestuj przykładowy skrypt (Red Hat)

sudo apachectl restart

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Instalowanie w systemie Debian

Uwaga / Notatka

Aby zainstalować środowisko PHP 8.2 lub 8.3, zastąp ciąg 8.1 następującymi poleceniami 8.2 lub 8.3.

Krok 1. Instalowanie języka PHP (Debian)

sudo su
apt-get install curl apt-transport-https
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
apt-get install -y php8.1 php8.1-dev php8.1-xml php8.1-intl

Krok 2. Instalowanie wymagań wstępnych (Debian)

Zainstaluj sterownik ODBC dla systemu Debian, postępując zgodnie z instrukcjami w temacie Install the Microsoft ODBC driver for SQL Server (Linux) (Instalowanie sterownika ODBC firmy Microsoft dla programu SQL Server (Linux). Upewnij się również, aby zainstalować pakiet unixodbc-dev. Polecenie pecl używane jest do instalowania sterowników PHP.

Może być również konieczne wygenerowanie poprawnych ustawień regionalnych, aby uzyskać poprawne wyświetlanie danych wyjściowych PHP w przeglądarce. Na przykład w przypadku ustawień regionalnych en_US UTF-8 uruchom następujące polecenia:

sudo su
sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
locale-gen

Może być konieczne dodanie /usr/sbin do $PATH, ponieważ plik wykonywalny locale-gen znajduje się tam.

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (Debian)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.1 sqlsrv pdo_sqlsrv

Jeśli w systemie istnieje tylko jedna wersja JĘZYKA PHP, ostatni krok można uprościć do phpenmod sqlsrv pdo_sqlsrv. Podobnie jak locale-gen, phpenmod znajduje się w /usr/sbin, więc może być konieczne dodanie tego katalogu do $PATH.

Krok 4. Instalowanie oprogramowania Apache i konfigurowanie ładowania sterowników (Debian)

sudo su
apt-get install libapache2-mod-php8.1 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php8.1

Krok 5. Uruchom ponownie oprogramowanie Apache i przetestuj przykładowy skrypt (Debian)

sudo service apache2 restart

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Instalowanie w systemie SUSE

Uwaga / Notatka

W poniższych instrukcjach zastąp <SuseVersion> element wersją systemu SUSE — jeśli używasz systemu SUSE Linux Enterprise Server 15, będzie to SLE_15_SP3 lub SLE_15_SP4 (lub nowsze). W przypadku systemu SUSE 12 użyj SLE_12_SP5 (lub nowszego). Nie wszystkie wersje języka PHP są dostępne dla wszystkich wersji systemu SUSE Linux — zobacz http://download.opensuse.org/repositories/devel:/languages:/php , które wersje systemu SUSE mają dostępną wersję domyślną PHP, lub sprawdź http://download.opensuse.org/repositories/devel:/languages:/php:/ , które inne wersje języka PHP są dostępne dla których wersji systemu SUSE.

Uwaga / Notatka

Pakiety dla języka PHP w wersji 7.4 lub nowszej nie są obecnie dostępne dla systemu SUSE 12.

Krok 1. Instalowanie środowiska PHP (SUSE)

sudo su
zypper -n ar -f https://download.opensuse.org/repositories/devel:languages:php/<SuseVersion>/devel:languages:php.repo
zypper --gpg-auto-import-keys refresh
zypper -n install php8 php8-pdo php8-devel php8-openssl

Krok 2. Instalowanie wymagań wstępnych (SUSE)

Zainstaluj sterownik ODBC dla systemu SUSE, postępując zgodnie z instrukcjami w temacie Instalowanie sterownika Microsoft ODBC dla programu SQL Server (Linux). Upewnij się również, że zainstalowano pakiet unixodbc-dev. Jest on używany przez pecl polecenie do instalowania sterowników PHP.

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (SUSE)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/sqlsrv.ini
exit

Krok 4. Instalowanie platformy Apache i konfigurowanie ładowania sterowników (SUSE)

sudo su
zypper install apache2 apache2-mod_php8
a2enmod php8
echo "extension=sqlsrv.so" >> /etc/php8/apache2/php.ini
echo "extension=pdo_sqlsrv.so" >> /etc/php8/apache2/php.ini
exit

Krok 5. Uruchom ponownie oprogramowanie Apache i przetestuj przykładowy skrypt (SUSE)

sudo systemctl restart apache2

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Instalowanie na Alpine

Uwaga / Notatka

Język PHP 8.1 lub nowszy może być dostępny z repozytoriów testowych lub brzegowych dla środowiska Alpine. Zamiast tego możesz skompilować język PHP ze źródła.

Krok 1. Instalowanie języka PHP (Alpine)

Pakiety PHP dla alpine można znaleźć w edge/community repozytorium. Sprawdź Włącz repozytorium społeczności na ich stronie wiki. Dodaj następujący wiersz do /etc/apk/repositories, zastępując <mirror> adresem URL lustrzanego odbicia repozytorium Alpine.

http://<mirror>/alpine/edge/community

Następnie uruchom polecenie:

sudo su
apk update
# Note: The php*-pdo package is required only for the PDO_SQLSRV driver
# For PHP 7.*
apk add php7 php7-dev php7-pear php7-pdo php7-openssl autoconf make g++
# For PHP 8.*
apk add php8 php8-dev php8-pear php8-pdo php8-openssl autoconf make g++
# The following symbolic links are optional but useful
ln -s /usr/bin/php8 /usr/bin/php
ln -s /usr/bin/phpize8 /usr/bin/phpize
ln -s /usr/bin/pecl8 /usr/bin/pecl
ln -s /usr/bin/php-config8 /usr/bin/php-config

Krok 2. Zainstaluj wymagania wstępne (Alpine)

Zainstaluj sterownik ODBC dla alpine, postępując zgodnie z instrukcjami w temacie Instalowanie sterownika Microsoft ODBC dla programu SQL Server (Linux). Upewnij się również, aby zainstalować pakiet unixodbc-dev (sudo apk add unixodbc-dev). Jest używany przez polecenie pecl do instalowania sterowników PHP.

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (Alpine)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/10_pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20_sqlsrv.ini

Krok 4. Instalowanie oprogramowania Apache i konfigurowanie ładowania sterowników (Alpine)

# For PHP 7.*
sudo apk add php7-apache2 apache2
# For PHP 8.*
sudo apk add php8-apache2 apache2

Krok 5. Uruchom ponownie oprogramowanie Apache i przetestuj przykładowy skrypt (Alpine)

sudo rc-service apache2 restart

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Instalowanie w systemie macOS

Jeśli jeszcze go nie masz, zainstaluj brew w następujący sposób:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Uwaga / Notatka

Aby zainstalować język PHP 8.2 lub 8.3, zastąp php@8.1 odpowiednio php@8.2 lub php@8.3 w następujących poleceniach.

Krok 1. Instalowanie języka PHP (macOS)

brew tap
brew tap homebrew/core
brew install php@8.1

Teraz PHP powinien znajdować się w twojej ścieżce. Uruchom polecenie php -v , aby sprawdzić, czy używasz poprawnej wersji języka PHP. Jeśli PHP nie znajduje się w Twojej ścieżce systemowej lub nie jest właściwą wersją, uruchom następujące polecenia:

brew link --force --overwrite php@8.1

W przypadku używania Apple M1 ARM64, może być konieczne ustawienie ścieżki:

export PATH="/opt/homebrew/bin:$PATH"

Krok 2. Instalowanie wymagań wstępnych (macOS)

Zainstaluj sterownik ODBC dla systemu macOS, postępując zgodnie z instrukcjami w temacie Instalowanie sterownika Microsoft ODBC dla programu SQL Server (macOS).

Uwaga / Notatka

Jeśli korzystasz ze sprzętu Apple M1 ARM64, zainstaluj sterownik Microsoft ODBC 17.8+ bezpośrednio bez użycia emulatora Rosetta 2.

Ponadto może być konieczne zainstalowanie narzędzi GNU make:

brew install autoconf automake libtool

Krok 3. Instalowanie sterowników PHP dla programu Microsoft SQL Server (macOS)

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

W przypadku korzystania z Apple M1 ARM64, wykonaj następujące czynności:

sudo CXXFLAGS="-I/opt/homebrew/opt/unixodbc/include/" LDFLAGS="-L/opt/homebrew/lib/" pecl install sqlsrv
sudo CXXFLAGS="-I/opt/homebrew/opt/unixodbc/include/" LDFLAGS="-L/opt/homebrew/lib/" pecl install pdo_sqlsrv

Krok 4. Instalowanie oprogramowania Apache i konfigurowanie ładowania sterowników (macOS)

Uwaga / Notatka

Najnowszy system macOS 11.0 Big Sur jest dostarczany ze wstępnie zainstalowanym oprogramowaniem Apache 2.4, ale firma Apple usunęła również niektóre wymagane skrypty. Rozwiązaniem jest zainstalowanie oprogramowania Apache 2.4 za pośrednictwem oprogramowania Homebrew, a następnie skonfigurowanie go, ale jest to poza zakresem tego przewodnika instalacji, więc zapoznaj się z programem Apache lub Homebrew, aby uzyskać szczegółowe instrukcje.

brew install apache2

Aby znaleźć plik konfiguracyjny Apache dla Twojej instalacji, httpd.conf uruchom polecenie:

/usr/local/bin/apachectl -V | grep SERVER_CONFIG_FILE

Następujące polecenia dołączają wymaganą konfigurację do httpd.conf. Pamiętaj, aby zastąpić ścieżkę zwróconą przez poprzednie polecenie w miejsce /usr/local/etc/httpd/httpd.conf :

echo "LoadModule php7_module /usr/local/opt/php@8.1/lib/httpd/modules/libphp7.so" >> /usr/local/etc/httpd/httpd.conf
(echo "<FilesMatch .php$>"; echo "SetHandler application/x-httpd-php"; echo "</FilesMatch>";) >> /usr/local/etc/httpd/httpd.conf

Krok 5. Uruchom ponownie oprogramowanie Apache i przetestuj przykładowy skrypt (macOS)

sudo apachectl restart

Aby przetestować instalację, zobacz Testowanie instalacji na końcu tego dokumentu.

Testowanie instalacji

Aby przetestować ten przykładowy skrypt, utwórz plik o nazwie testsql.php w katalogu głównym dokumentu systemu. Ta ścieżka znajduje się /var/www/html/ w systemach Ubuntu, Debian i Red Hat, /srv/www/htdocs w systemie SUSE, /var/www/localhost/htdocs w systemie Alpine lub /usr/local/var/www w systemie macOS. Skopiuj do niego następujący skrypt, zastępując odpowiedni serwer, bazę danych, nazwę użytkownika i hasło.

Przykład usługi SQLSRV

<?php
$serverName = "yourServername";
$connectionOptions = array(
    "database" => "yourDatabase",
    "uid" => "yourUsername",
    "pwd" => "yourPassword"
);

function exception_handler($exception) {
    echo "<h1>Failure</h1>";
    echo "Uncaught exception: " , $exception->getMessage();
    echo "<h1>PHP Info for troubleshooting</h1>";
    phpinfo();
}

set_exception_handler('exception_handler');

// Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
    die(formatErrors(sqlsrv_errors()));
}

// Select Query
$tsql = "SELECT @@Version AS SQL_VERSION";

// Executes the query
$stmt = sqlsrv_query($conn, $tsql);

// Error handling
if ($stmt === false) {
    die(formatErrors(sqlsrv_errors()));
}
?>

<h1> Success Results : </h1>

<?php
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
    echo $row['SQL_VERSION'] . PHP_EOL;
}

sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);

function formatErrors($errors)
{
    // Display errors
    echo "<h1>SQL Error:</h1>";
    echo "Error information: <br/>";
    foreach ($errors as $error) {
        echo "SQLSTATE: ". $error['SQLSTATE'] . "<br/>";
        echo "Code: ". $error['code'] . "<br/>";
        echo "Message: ". $error['message'] . "<br/>";
    }
}
?>

przykład PDO_SQLSRV

<?php
try {
    $serverName = "yourServername";
    $databaseName = "yourDatabase";
    $uid = "yourUsername";
    $pwd = "yourPassword";
    
    $conn = new PDO("sqlsrv:server = $serverName; Database = $databaseName;", $uid, $pwd);

    // Select Query
    $tsql = "SELECT @@Version AS SQL_VERSION";

    // Executes the query
    $stmt = $conn->query($tsql);
} catch (PDOException $exception1) {
    echo "<h1>Caught PDO exception:</h1>";
    echo $exception1->getMessage() . PHP_EOL;
    echo "<h1>PHP Info for troubleshooting</h1>";
    phpinfo();
}

?>

<h1> Success Results : </h1>

<?php
try {
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row['SQL_VERSION'] . PHP_EOL;
    }
} catch (PDOException $exception2) {
    // Display errors
    echo "<h1>Caught PDO exception:</h1>";
    echo $exception2->getMessage() . PHP_EOL;
}

unset($stmt);
unset($conn);
?>

Wskaż przeglądarkę na https://localhost/testsql.php (https://localhost:8080/testsql.php w systemie macOS). Teraz powinno być możliwe nawiązanie połączenia z bazą danych SQL Server/Azure SQL Database. Jeśli nie widzisz komunikatu o powodzeniu z informacjami o wersji SQL, możesz wykonać podstawowe rozwiązywanie problemów, uruchamiając skrypt z wiersza polecenia:

php testsql.php

Jeśli uruchomienie z wiersza polecenia zakończy się pomyślnie, ale nic nie jest wyświetlane w przeglądarce, sprawdź pliki dziennika Apache. Aby uzyskać więcej pomocy, zobacz Zasoby pomocy technicznej dotyczące dostępnych miejsc pomocy.

Zobacz też

Wprowadzenie do sterowników firmy Microsoft dla języka PHP dla programu SQL Server

Ładowanie sterowników firmy Microsoft dla języka PHP dla programu SQL Server

Wymagania systemowe dotyczące sterowników firmy Microsoft dla języka PHP dla programu SQL Server