SQL Server için PHP Microsoft Sürücüleri Linux ve macOS Kurulum Kılavuzu

Aşağıdaki yönergelerde temiz bir ortam varsayılır ve PHP 8.3, Microsoft ODBC sürücüsü, Apache web sunucusu ve Ubuntu, Red Hat, Debian, SUSE, Alpine ve macOS'ta SQL Server için PHP için Microsoft Sürücüleri'nin nasıl yükleneceği gösterilir. Ayrıca Microsoft Drivers for PHP for SQL Server GitHub proje sayfasından önceden oluşturulmuş ikili dosyaları indirebilir ve Loading the Microsoft Drivers for PHP for SQL Server içindeki talimatları takip ederek kurabilirsiniz. Uzantıların yüklenmesinin ve neden uzantıların php.ini'ye eklenmediğinin açıklaması için sürücülerin yüklenmesi bölümüne bakınız.

Sürücüleri, PHP uzantıları için resmî yükleyici olan ve kullanımdan kaldırılan PECL'in yerini alan PIE (PHP Installer for Extensions) ile yükleyin. Platformunuzun PHP ve Microsoft ODBC sürücüsünü yüklemek için Adım 1 ve 2'yi takip edin, ardından Adım 3 yerine Sürücüleri PIE ile Yükle seçeneğini kullanın. Adım 3 bölümleri PECL komutlarını belgeler, bunlar hâlâ çalışır.

Aşağıdaki talimatlar, PHP 8.3 paketleri mevcutsa, varsayılan olarak PHP 8.3'ü kurar. Bazı desteklenen Linux dağıtımları varsayılan olarak PHP'nin eski sürümlerine yöneliktir ve SQL Server için PHP sürücülerinin en son sürümü için desteklenmez. Bunun yerine PHP 8.4 veya 8.5 yüklemek için her bölümün başındaki notlara bakın. PECL ile kurarsanız, önce çalıştırmanız pecl channel-update pecl.php.net gerekebilir.

Ayrıca PHP FastCGI İşlem Yöneticisi'ni , PHP-FPM'yi Ubuntu'ya yüklemeye yönelik yönergeler de dahildir. Apache yerine nginx web sunucusu kullanıyorsanız PHP-FPM gereklidir.

Bu yönergeler hem SQLSRV hem de PDO_SQLSRV sürücülerini yüklemeye yönelik komutlar içerse de, sürücüler bağımsız olarak yüklenebilir ve kullanılabilir. Yapılandırmalarını özelleştirme konusunda rahat olan kullanıcılar, bu yönergeleri SQLSRV'ye veya PDO_SQLSRV özgü olacak şekilde ayarlayabilir. Her iki sürücü de belirtilen durumlar dışında aynı bağımlılıklara sahiptir.

Desteklenen en son işletim sistemi sürümleri için bkz. Destek Matrisi.

Uyarı

En iyi performansı ve güvenliği sağlamak için en son ODBC sürücüsü sürümünü yüklediğinizden emin olun. Yükleme yönergeleri için bkz. SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) veya SQL Server (macOS) için Microsoft ODBC sürücüsünü yükleme.

Sürücüleri PIE ile kur

PIE, PHP Eklentiler için Yükleyici, PHP uzantıları için resmi kurulum yapısıdır ve artık kullanılmayan PECL'in yerini alır. Microsoft PHP for SQL Server Sürücüleri, Linux ve macOS'ta 5.13.2 ve daha sonraki sürümlerde PIE'yi destekler.

PIE sadece sürücüleri yüklüyor. Önce platformunuz için Adım 1 ve Step 2'yi tamamlayın, böylece PHP ve Microsoft ODBC sürücüsü zaten mevcut olsun.

PIE'yi yükle

PIE'nin çalışması için PHP 8.1 veya daha yeni bir yazılım gereklidir, ancak makinedeki diğer herhangi bir PHP kurulumuna bir uzantı takabilir. PIE, Composer gibi PHAR arşivi olarak dağıtılır.

Aşağıdaki komutlar PIE'yi şu /usr/local/bin/pieadrese yükler:

curl -fL --output /tmp/pie.phar https://github.com/php/pie/releases/latest/download/pie.phar
sudo mv /tmp/pie.phar /usr/local/bin/pie
sudo chmod +x /usr/local/bin/pie

Dosyayı taşımadan önce, PHAR'ın PIE projesi tarafından yayımlandığını doğrulamak isteğe bağlı. Bu adım GitHub CLI'yı gerektirir:

gh attestation verify --owner php /tmp/pie.phar

PIE'yi kurmanın diğer yolları için PIE dokümantasyonuna bakınız.

SQLSRV ve PDO_SQLSRV sürücülerini kur

Apple silicon’da, önce derleyici bayraklarını ayarlayın. Homebrew, unixODBC başlık dosyalarını /opt/homebrew altında yükler; ancak bu dizin varsayılan derleyici arama yolunda değildir ve bunlar olmadan derleme fatal error: 'sql.h' file not found ile başarısız olur:

export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include/"
export LDFLAGS="-L/opt/homebrew/lib/"

Her sürücüyü kendi komutuyla yükleyin:

pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv

PIE artırılmış ayrıcalıklara ihtiyaç duyabilir ve şifrenizi sorabilir. PIE, önce kurulum komutunu yönetici ayrıcalıkları olmadan çalıştırır; yalnızca komut izinler nedeniyle başarısız olursa, komutu sudo ile yeniden dener.

Linux ve macOS'ta PIE, make, libtool, autoconf, pkg-config, phpize ve gcc öğelerini denetler ve eksik olanları, uzantıyı derlemeden önce sistem paket yöneticiniz aracılığıyla yüklemeyi önerir.

Uyarı

Debian ve Ubuntu’da, `phpize` paketi mevcut olmadığında PIE, sürümsüz `php-dev` paketini önerir; bu paket, dağıtımın varsayılan PHP sürümü için geliştirme başlık dosyalarını yükler. Belirli bir PHP sürümünü yüklediyseniz, teklifi kabul etmek yerine eşleştirme paketini kendiniz yükleyin, örneğin php8.3-dev, gibi.

İki sürücüyü tek bir komutta değil, ayrı ayrı kurun. Birbirlerinden bağımsızdırlar ve PIE, tek bir komutta adlandırılan birden fazla uzantı aynı yapılandırma seçeneklerini paylaştığında başarısız olur.

Ubuntu'ya yükleme

Uyarı

PHP 8.4 veya 8.5'i yüklemek için, aşağıdaki komutlarda 8.3'ü 8.4 veya 8.5 ile değiştirin.

Adım 1. PHP yükleme (Ubuntu)

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

Adım 2. Önkoşulları yükleme (Ubuntu)

SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) sayfasındaki yönergeleri izleyerek Ubuntu için ODBC sürücüsünü yükleyin. unixodbc-dev paketini de yüklediğinizden emin olun. pecl komutu, PHP sürücülerini yüklemek için kullanılır.

sudo apt-get install unixodbc-dev

Adım 3. Microsoft SQL Server için PHP sürücülerini PECL (Ubuntu) ile yükleyin

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

Sistemde yalnızca bir PHP sürümü varsa, son adım olarak phpenmod sqlsrv pdo_sqlsrvbasitleştirilebilir.

Adım 4. Apache'yi yükleme ve sürücü yüklemesini yapılandırma (Ubuntu)

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

Adım 5. Apache'yi yeniden başlatın ve örnek betiği (Ubuntu) test edin

sudo service apache2 restart

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

PHP-FPM ile Ubuntu'ya yükleme

Uyarı

PHP 8.4 veya 8.5'i yüklemek için, aşağıdaki komutlarda 8.3'ü 8.4 veya 8.5 ile değiştirin.

Adım 1. Ubuntu üzerinde PHP yükleme (PHP-FPM ile)

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

komutunu çalıştırarak PHP-FPM hizmetinin durumunu doğrulayın:

systemctl status php8.3-fpm

Adım 2. Önkoşulları Yükleme (PHP-FPM ile Ubuntu)

SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) sayfasındaki yönergeleri izleyerek Ubuntu için ODBC sürücüsünü yükleyin. unixodbc-dev paketini de yüklediğinizden emin olun. pecl komutu, PHP sürücülerini yüklemek için kullanılır.

Adım 3. PECL ile Microsoft SQL Server PHP sürücülerini yükleyin (Ubuntu ile PHP-FPM)

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

Sistemde yalnızca bir PHP sürümü varsa, son adım olarak phpenmod sqlsrv pdo_sqlsrvbasitleştirilebilir.

sqlsrv.ini ve pdo_sqlsrv.ini öğelerinin /etc/php/8.3/fpm/conf.d/ konumunda olduğunu doğrulayın.

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

PHP-FPM hizmetini yeniden başlatın:

sudo systemctl restart php8.3-fpm

Adım 4. nginx'in kurulumu ve yapılandırılması (Ubuntu ile PHP-FPM)

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

nginx'i yapılandırmak için dosyayı düzenlemeniz /etc/nginx/sites-available/default gerekir. index.php öğesini, # Add index.php to the list if you are using PHP ifadesinin yer aldığı bölümün altındaki listeye ekleyin.

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

Aşağıdaki # pass PHP scripts to FastCGI server bölümün açıklamalarını kaldırın ve değiştirin:

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

Adım 5. nginx'i yeniden başlatın ve örnek betiği (PHP-FPMile Ubuntu) test edin

sudo systemctl restart nginx.service

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

Red Hat'e yükleme

Adım 1. PHP yükleme (Red Hat)

Php'yi Red Hat 8'e yüklemek için aşağıdaki komutları çalıştırın:

Uyarı

PHP 8.4 veya 8.5 yüklemek için, aşağıdaki komutlarda remi-8.3'ü sırasıyla remi-8.4 veya remi-8.5 ile değiştirin.

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.3
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

Adım 2. Önkoşulları yükleme (Red Hat)

SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) yönergelerini izleyerek Red Hat 8 için ODBC sürücüsünü yükleyin. unixodbc-dev paketini de yüklediğinizden emin olun. pecl komutu, PHP sürücülerini yüklemek için kullanılır.

Adım 3. Microsoft SQL Server için PHP sürücülerini PECL (Red Hat) ile yükleyin

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

Alternatif olarak Remi deposundan yükleyebilirsiniz:

sudo yum install php-sqlsrv

Adım 4. Apache'yi yükleme (Red Hat)

sudo yum install httpd

SELinux varsayılan olarak yüklenir ve Zorlama modunda çalışır. Apache'nin SELinux aracılığıyla veritabanlarına bağlanmasına izin vermek için aşağıdaki komutu çalıştırın:

sudo setsebool -P httpd_can_network_connect_db 1

Adım 5. Apache'yi yeniden başlatın ve örnek betiği test edin (Red Hat)

sudo apachectl restart

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

Debian'a yükleme

Uyarı

PHP 8.4 veya 8.5 yüklemek için aşağıdaki komutlarda 8.3 yerine 8.4 veya 8.5 yazın.

Adım 1. PHP 'yi (Debian) yükleme

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.3 php8.3-dev php8.3-xml php8.3-intl

Adım 2. Önkoşulları yükleme (Debian)

SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) sayfasındaki yönergeleri izleyerek Debian için ODBC sürücüsünü yükleyin. unixodbc-dev paketini de yüklediğinizden emin olun. pecl komutu, PHP sürücülerini yüklemek için kullanılır.

Php çıkışını tarayıcıda doğru şekilde görüntülemek için doğru yerel ayarı oluşturmanız da gerekebilir. Örneğin, en_US UTF-8 yerel ayarı için aşağıdaki komutları çalıştırın:

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

/usr/sbin öğesini dosyanıza $PATH olarak eklemeniz gerekebilir, çünkü locale-gen yürütülebilir dosya orada bulunuyor.

Adım 3. Microsoft SQL Server için PHP sürücülerini PECL ile yükleyin (Debian)

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

Sistemde yalnızca bir PHP sürümü varsa, son adım olarak phpenmod sqlsrv pdo_sqlsrvbasitleştirilebilir. locale-gen için geçerli olduğu gibi, phpenmod de /usr/sbin içinde bulunur, bu nedenle bu dizini $PATH'inize eklemeniz gerekebilir.

Adım 4. Apache'yi yükleme ve sürücü yüklemesini yapılandırma (Debian)

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

Adım 5. Apache'yi yeniden başlatın ve örnek betiği (Debian) test edin

sudo service apache2 restart

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

SUSE'ye yükleme

Uyarı

Aşağıdaki talimatlarda, <SuseVersion> etiketini kullandığınız SUSE sürümüyle değiştirin - eğer SUSE Linux Enterprise Server 15 kullanıyorsanız, bu SLE_15_SP3 veya SLE_15_SP4 (veya üstü) olacaktır. PHP'nin tüm sürümleri SUSE Linux'un tüm sürümlerinde kullanılamaz. Hangi SUSE sürümlerinin varsayılan PHP sürümüne sahip olduğunu görmek için bakın http://download.opensuse.org/repositories/devel:/languages:/php veya hangi PHP sürümlerinin hangi SUSE sürümleri için kullanılabilir olduğunu kontrol edin http://download.opensuse.org/repositories/devel:/languages:/php:/ .

Adım 1. PHP'yi (SUSE) yükleme

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

Adım 2. Önkoşulları yükleme (SUSE)

SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) sayfasındaki yönergeleri izleyerek SUSE için ODBC sürücüsünü yükleyin. unixodbc-dev paketini de yüklediğinizden emin olun. pecl komutu, PHP sürücülerini yüklemek için kullanılır.

Adım 3. PECL (SUSE) ile Microsoft SQL Server için PHP sürücülerini yükleyin

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

Adım 4. Apache'yi yükleme ve sürücü yüklemesini yapılandırma (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

Adım 5. Apache'yi yeniden başlatın ve örnek betiği (SUSE) test edin

sudo systemctl restart apache2

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

Alpine'de yükleme

Uyarı

PHP 8.3 veya üzeri, Alpine için test veya kenar depolarından kullanılabilir. Bunun yerine PHP'yi kaynaktan derleyebilirsiniz.

Adım 1. PHP yükleme (Alpine)

Alpine için PHP paketleri depoda edge/community bulunabilir. Wiki sayfasında Topluluk Deposunu Etkinleştir'i işaretleyin. Aşağıdaki satırı /etc/apk/repositories'ye ekleyin ve <mirror> yerine bir Alpine deposu aynasının URL'sini kullanın.

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

Ardından şunu çalıştırın:

sudo su
apk update
# Note: The php*-pdo package is required only for the PDO_SQLSRV driver
# 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

Adım 2. Önkoşulları yükleme (Alpine)

SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux) sayfasındaki yönergeleri izleyerek Alpine için ODBC sürücüsünü yükleyin. unixodbc-dev paketini de yüklediğinizden emin olun sudo apk add unixodbc-dev. pecl komutu, PHP sürücülerini yüklemek için kullanılır.

Adım 3. Microsoft SQL Server için PHP sürücülerini PECL (Alpine) ile yükleyin

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

Adım 4. Apache'yi yükleme ve sürücü yüklemesini yapılandırma (Alpine)

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

Adım 5. Apache'yi yeniden başlatın ve örnek betiği test edin (Alpine)

sudo rc-service apache2 restart

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

macOS'a yükleme

Henüz sahip değilseniz brew'ı aşağıdaki gibi yükleyin:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Uyarı

PHP 8.4 veya 8.5'i yüklemek için aşağıdaki komutlarda php@8.3'ü sırasıyla php@8.4 veya php@8.5 ile değiştirin.

Adım 1. PHP yükleme (macOS)

brew install php@8.3

PHP artık yolunuzda olmalıdır. Php'nin doğru sürümünü çalıştırdığınızı doğrulamak için komutunu çalıştırın php -v . PHP yolunuzda değilse veya doğru sürüm değilse aşağıdaki komutları çalıştırın:

brew link --force --overwrite php@8.3

Apple M1 ARM64 kullanıyorsanız yolu ayarlamanız gerekebilir:

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

Adım 2. Önkoşulları yükleme (macOS)

SQL Server için Microsoft ODBC sürücüsünü yükleme (macOS) sayfasındaki yönergeleri izleyerek macOS için ODBC sürücüsünü yükleyin.

Uyarı

Apple M1 ARM64 donanımı kullanıyorsanız Öykünücü Rosetta 2'yi kullanmadan doğrudan Microsoft ODBC sürücüsü 17.8+ yükleyin.

Buna ek olarak, GNU make araçlarını yüklemeniz gerekebilir:

brew install autoconf automake libtool

Adım 3. PECL (macOS) ile Microsoft SQL Server için PHP sürücülerini yükleyin

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Apple M1 ARM64 kullanıyorsanız, bunun yerine aşağıdakileri yapın:

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

Adım 4. Apache'yi yükleme ve sürücü yüklemesini yapılandırma (macOS)

Uyarı

Sürüm 11.0 Big Sur'dan itibaren macOS, Apache 2.4 ön yüklü olarak gelir. Ancak, Apple bazı gerekli betikleri kaldırdı. Çözüm, Homebrew aracılığıyla Apache 2.4'ü yüklemek ve yapılandırmaktır. Bu adım, bu yükleme kılavuzunun kapsamı dışındadır. Ayrıntılı yönergeler için Apache veya Homebrew'a bakın.

brew install apache2

Apache yüklemeniz için Apache yapılandırma dosyasını httpd.confbulmak için şunu çalıştırın:

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

Aşağıdaki komutlar, gerekli yapılandırmayı httpd.conf öğesine ekler. /usr/local/etc/httpd/httpd.conf yerine önceki komutun döndürdüğü yolu koyduğunuzdan emin olun.

echo "LoadModule php7_module /usr/local/opt/php@8.3/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

Adım 5. Apache'yi yeniden başlatın ve örnek betiği (macOS) test edin

sudo apachectl restart

Yüklemenizi test etmek için bu belgenin sonundaki Yüklemenizi test etme konusuna bakın.

Yüklemenizi Test Etmek

Bu örnek betiği test etmek için sisteminizin belge kökünde testsql.php adlı bir dosya oluşturun. Bu yol Ubuntu, Debian ve Red Hat için /var/www/html/, SUSE için /srv/www/htdocs, Alpine için /var/www/localhost/htdocs veya macOS için /usr/local/var/www'dır. Sunucu, veritabanı, kullanıcı adı ve parolayı uygun şekilde değiştirerek aşağıdaki betiği ona kopyalayın.

SQLSRV örneği

<?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 örnek

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

Tarayıcınızı https://localhost/testsql.php konumuna yönlendirin (macOS'ta https://localhost:8080/testsql.php). Artık SQL Server/Azure SQL veritabanınıza bağlanabiliyor olmanız gerekir. SQL sürüm bilgilerini gösteren bir başarı iletisi görmüyorsanız komut satırından betiği çalıştırarak bazı temel sorun giderme adımları gerçekleştirebilirsiniz:

php testsql.php

Komut satırından çalıştırma başarılı olursa ancak tarayıcınızda hiçbir şey gösterilmiyorsa Apache günlük dosyalarını denetleyin. Daha fazla yardım için bkz. Gidilecek yerler için destek kaynakları .