Megosztás:


Linux és macOS telepítési oktatóanyag a Microsoft SQL Serverhez készült PHP-illesztőprogramjaihoz

Az alábbi utasítások tiszta környezetet feltételeznek, és bemutatják, hogyan telepíthető a PHP 8.1, a Microsoft ODBC-illesztőprogram, az Apache webkiszolgáló, valamint az SQL Serverhez készült Microsoft Drivers for PHP Ubuntu, Red Hat, Debian, SUSE, Alpine és macOS rendszereken. Ezek az utasítások azt tanácsolják, hogy telepítse az illesztőprogramokat a PECL használatával, de letöltheti az előre összeállított bináris fájlokat a Microsoft Drivers for PHP for SQL Server GitHub projektoldaláról, és telepítheti őket az SQL Serverhez készült Microsoft Drivers for PHP betöltésének utasításait követve. A bővítmények betöltésének magyarázatát és azt, hogy miért nem adjuk hozzá a bővítményeket php.ini, tekintse meg az illesztőprogramok betöltéséről szóló szakaszt.

Az alábbi utasítások alapértelmezés szerint pecl installtelepítik a PHP 8.1-et, ha a PHP 8.1-csomagok elérhetők. Lehet, hogy először futtatnia pecl channel-update pecl.php.net kell. Egyes támogatott Linux-disztribúciók alapértelmezés szerint a PHP 7.1-es vagy korábbi verziói, amelyeket az SQL Server PHP-illesztőprogramjainak legújabb verziója nem támogat. A PHP 8.2 vagy 8.3 telepítéséhez tekintse meg az egyes szakaszok elején található megjegyzéseket.

A PHP FastCGI Process Manager, a PHP-FPM Ubuntu-on való telepítésére vonatkozó utasítások is megtalálhatók. PHP-FPM akkor van szükség, ha az nginx webkiszolgálót használja az Apache helyett.

Bár ezek az utasítások az SQLSRV és PDO_SQLSRV illesztőprogramok telepítéséhez is tartalmaznak parancsokat, az illesztőprogramok egymástól függetlenül telepíthetők és működnek. A konfigurációt kényelmesen testreszabni tudó felhasználók módosíthatják ezeket az utasításokat úgy, hogy az SQLSRV-re vagy a PDO_SQLSRV-re specifikusak legyenek. Mindkét illesztőprogram ugyanazokkal a függőségekkel rendelkezik, kivéve az alábbiakat.

Tekintse meg a támogatási mátrixot a legújabb támogatott operációs rendszerek verziójához.

Megjegyzés:

Az optimális teljesítmény és biztonság érdekében győződjön meg arról, hogy a legújabb ODBC-illesztőprogram-verziót telepítette. A telepítési utasításokat az SQL Server (Linux) Microsoft ODBC-illesztőprogramjának telepítése vagy az SQL Serverhez készült Microsoft ODBC-illesztőprogram telepítése (macOS) című témakörben találja.

Telepítés az Ubuntu-on

Megjegyzés:

A PHP 8.2 vagy 8.3 telepítéséhez cserélje le a 8.1-et 8.2 vagy 8.3-ra az alábbi parancsokban.

1. lépés. A PHP telepítése (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

2. lépés. Előfeltételek telepítése (Ubuntu)

Telepítse az Ubuntu ODBC-illesztőjét az SQL Server (Linux) Microsoft ODBC-illesztőprogramjának telepítésével kapcsolatos útmutatást követve. Győződjön meg arról, hogy a unixodbc-dev csomagot is telepíti. A pecl parancsot a PHP-illesztőprogramok telepítéséhez használják.

sudo apt-get install unixodbc-dev

3. lépés. A Microsoft SQL Server (Ubuntu) PHP-illesztőprogramjainak telepítése

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

Ha csak egy PHP-verzió van a rendszerben, akkor az utolsó lépés egyszerűsíthető a következőre phpenmod sqlsrv pdo_sqlsrv: .

4. lépés. Telepítse az Apache-t, és konfigurálja az illesztőprogram betöltését (Ubuntu)

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

5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (Ubuntu)

sudo service apache2 restart

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

Telepítés Ubuntu alatt PHP FPM-mel

Megjegyzés:

A PHP 8.2 vagy 8.3 telepítéséhez cserélje le a 8.1-et 8.2 vagy 8.3-ra az alábbi parancsokban.

1. lépés. A PHP telepítése (Ubuntu 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

Ellenőrizze a PHP-FPM szolgáltatás állapotát a következő futtatásával:

systemctl status php8.1-fpm

2. lépés. Előfeltételek telepítése (Ubuntu PHP-FPM)

Telepítse az Ubuntu ODBC-illesztőjét az SQL Server (Linux) Microsoft ODBC-illesztőprogramjának telepítésével kapcsolatos útmutatást követve. Győződjön meg arról, hogy a unixodbc-dev csomagot is telepíti. A pecl parancsot a PHP-illesztőprogramok telepítéséhez használják.

3. lépés. A Microsoft SQL Server PHP-illesztőprogramjainak telepítése (Ubuntu és 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

Ha csak egy PHP-verzió van a rendszerben, akkor az utolsó lépés egyszerűsíthető a következőre phpenmod sqlsrv pdo_sqlsrv: .

Ellenőrizze, hogy sqlsrv.ini és pdo_sqlsrv.ini a /etc/php/8.1/fpm/conf.d/ helyen találhatók-e.

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

Indítsa újra a PHP-FPM szolgáltatást:

sudo systemctl restart php8.1-fpm

4. lépés. Nginx telepítése és konfigurálása (Ubuntu PHP-FPM)

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

Az nginx konfigurálásához szerkesztenie kell a /etc/nginx/sites-available/default fájlt. Adja hozzá index.php a szakasz alatti listához, amely így van jelölve: # 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;

Ezután vegye ki a megjegyzésből, és módosítsa a # pass PHP scripts to FastCGI server után következő szakaszt az alábbiak szerint:

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

5. lépés. Indítsa újra az nginxet, és tesztelje a mintaszkriptet (Ubuntu PHP-FPM)

sudo systemctl restart nginx.service

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

Telepítés a Red Hatre

1. lépés. A PHP telepítése (Red Hat)

A PHP Red Hat 7-en való telepítéséhez futtassa a következő parancsokat:

Megjegyzés:

A PHP 8.2 vagy 8.3 telepítéséhez cserélje le a remi-php81-et remi-php82-re vagy remi-php83-ra az alábbi parancsokban.

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

A PHP Red Hat 8-ra való telepítéséhez futtassa a következő parancsokat:

Megjegyzés:

A PHP 8.2 vagy 8.3 telepítéséhez cserélje le a remi-8.1-et remi-8.2-re vagy remi-8.3-ra az alábbi parancsokban.

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

2. lépés. Előfeltételek telepítése (Red Hat)

Telepítse a Red Hat 7 vagy 8 ODBC-illesztőprogramját az SQL Server (Linux) Microsoft ODBC-illesztőprogramjának telepítése című dokumentumban található utasításokat követve. Győződjön meg arról, hogy a unixodbc-dev csomagot is telepíti. A pecl parancsot a PHP-illesztőprogramok telepítéséhez használják.

3. lépés. A Microsoft SQL Server PHP-illesztőprogramjainak telepítése (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

Másik lehetőségként telepítheti a Remi-adattárból:

sudo yum install php-sqlsrv

4. lépés. Az Apache telepítése (Red Hat)

sudo yum install httpd

A SELinux alapértelmezés szerint telepítve van, és kényszerítési módban fut. Ha engedélyezni szeretné, hogy az Apache a SELinuxon keresztül csatlakozzon az adatbázisokhoz, futtassa a következő parancsot:

sudo setsebool -P httpd_can_network_connect_db 1

5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (Red Hat)

sudo apachectl restart

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

Telepítés Debianra

Megjegyzés:

A PHP 8.2 vagy 8.3 telepítéséhez cserélje le a 8.1-et a következő parancsokban a 8.2 vagy a 8.3-ra.

1. lépés. PHP telepítése (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

2. lépés. Előfeltételek telepítése (Debian)

Telepítse a Debian ODBC-illesztőjét az SQL Server (Linux) Microsoft ODBC-illesztőjének telepítésére vonatkozó utasításokat követve. Győződjön meg arról, hogy a unixodbc-dev csomagot is telepíti. A pecl parancsot a PHP-illesztőprogramok telepítéséhez használják.

Előfordulhat, hogy a megfelelő területi beállításokat is létre kell hoznia ahhoz, hogy a PHP-kimenet megfelelően jelenjen meg a böngészőben. Az en_US UTF-8 területi beállításnál például futtassa a következő parancsokat:

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

Előfordulhat, hogy hozzá kell adnia /usr/sbin a $PATHsaját fiókjához, mivel a locale-gen végrehajtható fájl ott található.

3. lépés. A Microsoft SQL Server (Debian) PHP-illesztőprogramjainak telepítése

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

Ha csak egy PHP-verzió van a rendszerben, akkor az utolsó lépés egyszerűsíthető a következőre phpenmod sqlsrv pdo_sqlsrv: . Ahogy az locale-gen, az phpenmod is megtalálható a /usr/sbin-ben, ezért előfordulhat, hogy hozzá kell adnia ezt a könyvtárat a $PATH környezeti változójához.

4. lépés. Telepítse az Apache-t, és konfigurálja az illesztőprogram betöltését (Debian)

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

5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (Debian)

sudo service apache2 restart

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

Telepítés az SUSE-n

Megjegyzés:

Az alábbi utasításokban cserélje le <SuseVersion> a SUSE verzióját – ha SUSE Linux Enterprise Server 15-öt használ, az SLE_15_SP3 vagy SLE_15_SP4 (vagy újabb) lesz. SUSE 12 esetén használja a SLE_12_SP5 (vagy újabb) verziót. Nem minden PHP-verzió érhető el a SUSE Linux összes verziójához – tekintse meg, hogy http://download.opensuse.org/repositories/devel:/languages:/php a SUSE mely verzióiban érhető el az alapértelmezett PHP-verzió, vagy ellenőrizze http://download.opensuse.org/repositories/devel:/languages:/php:/ , hogy a PHP mely más verziói érhetők el az SUSE melyik verziójához.

Megjegyzés:

A PHP 7.4-hez vagy újabb verziókhoz készült csomagok a mai napig nem érhetők el a SUSE 12-hez.

1. lépés. A PHP (SUSE) telepítése

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

2. lépés. Előfeltételek telepítése (SUSE)

Telepítse a SUSE ODBC-illesztőjét az SQL Serverhez (Linux) készült Microsoft ODBC-illesztőprogram telepítésére vonatkozó utasításokat követve. Győződjön meg arról, hogy a unixodbc-dev csomagot is telepíti. A pecl parancsot a PHP-illesztőprogramok telepítéséhez használják.

3. lépés. A Microsoft SQL Server (SUSE) PHP-illesztőprogramjainak telepítése

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

4. lépés. Az Apache telepítése és az illesztőprogramok betöltésének konfigurálása (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

5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (SUSE)

sudo systemctl restart apache2

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

Telepítés az Alpine-en

Megjegyzés:

A PHP 8.1 vagy újabb verziója elérhető lehet az Alpine tesztelési vagy éladattáraiból. A PHP-t pedig a forrásból is lefordíthatja.

1. lépés. A PHP (Alpine) telepítése

Az Alpine PHP-csomagjai megtalálhatók az edge/community adattárban. Ellenőrizze , hogy engedélyezve van-e a közösségi adattár a WIKI-oldalán. Adja hozzá a következő sort /etc/apk/repositories, az <mirror> helyére az Alpine-adattártükör URL-címét cserélve:

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

Majd futtassa:

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

2. lépés. Előfeltételek telepítése (Alpine)

Telepítse az Alpine ODBC-illesztőjét az SQL Serverhez (Linux) készült Microsoft ODBC-illesztőprogram telepítésére vonatkozó utasításokat követve. Győződjön meg arról, hogy a unixodbc-dev csomagot (sudo apk add unixodbc-dev) is telepíti. A pecl parancsot a PHP-illesztőprogramok telepítéséhez használják.

3. lépés. A Microsoft SQL Server (Alpine) PHP-illesztőprogramjainak telepítése

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

4. lépés. Az Apache telepítése és az illesztőprogramok betöltésének konfigurálása (Alpine)

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

5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (Alpine)

sudo rc-service apache2 restart

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

macOS telepítése

Ha még nem rendelkezik vele, telepítse a brewot az alábbiak szerint:

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

Megjegyzés:

A PHP 8.2 vagy 8.3 telepítéséhez cserélje le a php@8.1-et php@8.2 vagy php@8.3-ra az alábbi parancsokban.

1. lépés. PHP telepítése (macOS)

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

A PHP-nek most már szerepelnie kell az elérési úton. Futtassa php -v annak ellenőrzéséhez, hogy a PHP megfelelő verzióját futtatja-e. Ha a PHP nincs az elérési úton, vagy nem a megfelelő verzió, futtassa a következő parancsokat:

brew link --force --overwrite php@8.1

Ha Apple M1 ARM64-et használja, előfordulhat, hogy be kell állítania az elérési utat:

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

2. lépés. Előfeltételek telepítése (macOS)

Telepítse a macOS-hez készült ODBC-illesztőt az SQL Serverhez készült Microsoft ODBC-illesztőprogram telepítésével (macOS) kapcsolatos útmutatást követve.

Megjegyzés:

Ha Apple M1 ARM64-hardvert használ, telepítse a Microsoft ODBC driver 17.8+-ot közvetlenül a Rosetta 2 emulátor használata nélkül.

Emellett előfordulhat, hogy telepítenie kell a GNU-hoz szükséges eszközöket:

brew install autoconf automake libtool

3. lépés. A Microsoft SQL Server (macOS) PHP-illesztőprogramjainak telepítése

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Ha az Apple M1 ARM64-et használja, tegye inkább a következőket:

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

4. lépés. Az Apache telepítése és az illesztőprogramok betöltésének konfigurálása (macOS)

Megjegyzés:

A legújabb macOS 11.0 Big Sur előtelepített Apache 2.4-et tartalmaz, de az Apple eltávolított néhány szükséges szkriptet is. A megoldás az Apache 2.4 telepítése a Homebrew-on keresztül, majd konfigurálása, de ez a telepítési útmutató hatókörén kívül esik, ezért részletes útmutatásért tekintse meg az Apache-t vagy a Homebrew-t.

brew install apache2

Az Apache-konfigurációs fájl httpd.confmegkereséséhez futtassa a következőt az Apache-telepítéshez:

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

Az alábbi parancsok hozzáfűzik a szükséges konfigurációt a következőhöz httpd.conf: Feltétlenül cserélje le az előző parancs által visszaadott elérési utat a következő helyett: /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

5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (macOS)

sudo apachectl restart

A telepítés teszteléséhez tekintse meg a telepítés tesztelését a dokumentum végén.

A telepítés tesztelése

A mintaszkript teszteléséhez hozzon létre egy testsql.php nevű fájlt a rendszer dokumentumgyökerében. Ez az útvonal az /var/www/html/ Ubuntu, a Debian és a Red Hat, /srv/www/htdocs a SUSE, /var/www/localhost/htdocs az Alpine vagy /usr/local/var/www a macOS rendszeren érhető el. Másolja a következő szkriptet rá, és cserélje le a kiszolgálót, az adatbázist, a felhasználónevet és a jelszót a megfelelő módon.

SQLSRV-példa

<?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/>";
    }
}
?>

PDO_SQLSRV példa

<?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);
?>

Mutasson a böngészőre https://localhost/testsql.php (https://localhost:8080/testsql.php macOS rendszeren). Most már csatlakoznia kell az SQL Serverhez/Azure SQL-adatbázishoz. Ha nem jelenik meg az SQL-verzióinformációkat megjelenítő sikeres üzenet, a parancssorból futtatva elvégezhet néhány alapvető hibaelhárítást:

php testsql.php

Ha a parancssorból való futtatás sikeres, de a böngészőben semmi sem jelenik meg, ellenőrizze az Apache naplófájljait. További segítségért tekintse meg a helyek támogatási erőforrásait .

Lásd még:

Ismerkedés az SQL Serverhez készült PHP-hez készült Microsoft-illesztőprogramokkal

A Microsoft Driverek PHP-hez az SQL Serverhez történő betöltése

Az SQL Serverhez készült PHP-hez készült Microsoft Drivers rendszerkövetelményei