Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezek az utasítások telepítik a PHP-t, a Microsoft ODBC Driver for SQL Server-t, valamint az SQLSRV és PDO_SQLSRV bővítményeket. Minden fül az adott fül által használt tároló által biztosított PHP-csomagot használja, így a parancsokban szereplő verzió fülenként eltér. Ha az a repozitórium más PHP-verziót kínál, cseréld le egy másik, a támogatási mátrixban felsorolt PHP-verzióra.
Az SQLSRV és PDO_SQLSRV illezőprogramok ugyanazt az ODBC függőséget használják, és önállóan telepíthetők. Telepítsd mindkét bővítményt, ha az alkalmazásod mindkét meghajtót használja.
Az eljárás végén a CLI-nek és a kiválasztott webkiszolgáló-futtatókörnyezetnek mindkét bővítményt kell betöltenie, mindkét PHP API elérhető legyen, és az egyes API-khoz tartozó minta visszaadja az adatbázis-kiszolgáló verzióját.
Mielőtt elkezdenéd
Válassz egy olyan PHP-verziót, amelyet a jelenlegi illesztőprogram-kiadás támogat, és amely elérhető az operációsrendszer-kiadásodhoz.
Döntsd el, melyik PHP futóidőre van szükséged:
- CLI szkriptekhez, ütemezett feladatokhoz vagy feldolgozókhoz.
- Apache modul az Apache-on futó PHP-hez.
- PHP-FPM nginx vagy Apache FastCGI konfiguráció esetén.
Ellenőrizze az operációs rendszer architektúráját. A kiadott Linux archívumok x64 binárisokat, míg a macOS archívumok Arm64 bináriákat tartalmaznak. A PIE a számítógépen található PHP-telepítéshez készül, és ez a cikk elsődleges telepítési útvonala.
Telepítsd a Microsoft ODBC Drivert és az unixODBC fejlesztőcsomagot. A Microsoft csomag kezeli az adatbázis-kommunikációt. Az unixODBC csomag tartalmazza az SQLSRV és PDO_SQLSRV felépítéséhez szükséges fejléceket.
Tervezd újraindítani az összes webszervert, PHP-FPM poolt és a hosszan futó workereket egy bővítmény telepítése vagy módosítása után.
A platform csomagkezelője telepíti a PHP-t és a natív függőségeket. A PIE építi és telepíti a PHP bővítményeket. A PHP konfiguráció szabályozza, hogy az egyes futtatókörnyezetek betöltik-e őket. Az ODBC illesztőprogram kezeli az adatbázis-kommunikációt és a titkosítást a bővítmény betöltése után.
Telepítsd a drivereket PIE-val
A PIE, a PHP-bővítmények telepítője, a jelenlegi illesztőprogram-kiadások támogatott bővítménytelepítője. Ez váltja fel az elavult PHP Extension Community Library (PECL) munkafolyamatot.
Végezze el a következő szakaszokban ismertetett, a platform előfeltételeiben szereplő lépéseket, mielőtt telepítené a drivereket. Ezután telepítsd a PIE-t és az egyes illesztőprogramokat külön-külön:
Telepítsd a PIE-t
A PIE PHP 8.1-en és újabb verziókon fut. Képes egy bővítményt telepíteni egy másik PHP-telepítésbe, ha kiválasztod az adott telepítés fejlesztői eszközeit.
Telepítsd a curl és a GitHub CLI-t a folytatás előtt. A platformszakaszok tartalmazzák a(z) curl elemet ott, ahol a minimális telepítés esetleg nem biztosítja azt.
Töltse le a PIE PHP archívumot (PHAR), és ellenőrizze a GitHub parancssori felülettel (CLI), mielőtt telepíti vagy futtatná:
pie_tmp=$(mktemp -d)
curl -fL --output "$pie_tmp/pie.phar" https://github.com/php/pie/releases/latest/download/pie.phar
gh attestation verify --owner php "$pie_tmp/pie.phar"
Csak akkor folytassa, ha az ellenőrzés sikeres:
sudo install -m 755 "$pie_tmp/pie.phar" /usr/local/bin/pie
rm "$pie_tmp/pie.phar"
rmdir "$pie_tmp"
unset pie_tmp
Az ideiglenes könyvtár csak a fiókod számára érhető el. Ha a letöltés vagy a hitelesítés nem sikerül, ne telepítsd vagy futtasd a PHAR-t. Távolítsd el az ideiglenes fájlt és könyvtárat, mielőtt újra próbálnád.
Győződj meg róla, hogy a telepített PHAR fut a PHP futtatható fájllal, amit használni tervezel:
php /usr/local/bin/pie --version
Telepítsd az SQLSRV-t és PDO_SQLSRV drivereket
Linuxon és macOS-en a PIE ellenőrzi, hogy rendelkezésre állnak-e a számára szükséges fordító- és PHP-fejlesztőeszközök. Telepítsd a platform ODBC fejlesztőcsomagját és egy C++ fordítót a PIE futtatása előtt. Indítsd a PIE-t egy interaktív terminálról. Kérheti a jelszavát sudo, amikor engedélyre van szüksége ahhoz, hogy fájlokat telepítsen a rendszerkönyvtárakba.
A PIE azt a PHP-telepítést célozza meg, amelyet a PIE meghívásához használnak. Verziózott telepítéshez adj hozzá --with-php-config minden telepítési parancshoz, hogy kiválasszd annak fejlesztői eszközeit. Például használja a(z) pie install --with-php-config=/usr/bin/php-config8.4 microsoft/sqlsrv elemet, ha a kívánt eszköz a(z) /usr/bin/php-config8.4. Alkalmazd ugyanezt az opciót .microsoft/pdo_sqlsrv Az Alpine verziózott futtatható neveket használ; kövesse az Alpine parancsokat a verziózatlan parancsok helyett ebben a szakaszban.
Futtass egy parancsot minden kiegészítéshez. Ezek a parancsok a PIE alapértelmezett PHP telepítését használják:
pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv
A PIE megpróbálja engedélyezni az egyes kiterjesztéseket a platform PHP-konfigurációs eszközeivel vagy egy extension= bejegyzéssel, és figyelmeztet, ha nem tudja. A PHP minden futtató környezethez szerveralkalmazási interfészt (SAPI) használ. Debian, Ubuntu és SUSE rendszereken a parancssor, az Apache és a PHP FastCGI Process Manager (PHP-FPM) konfigurációi eltérhetnek. Egy sikeres parancssoros telepítés nem igazolja, hogy a webkiszolgáló betölti az illesztőprogramokat.
Nézd meg a php --ini parancssort. Mielőtt ideiglenes phpinfo() oldalt hoznál létre a webszerver számára, korlátozd a diagnosztikai oldalhoz való hozzáférést. Ellenőrizd a betöltött konfigurációs fájlt és a beszkennelt .ini fájlokat minden futásidőhöz. Ha hiányoznak a bejegyzések, kövesd a Illesztőprogramok betöltése Linuxon és macOS-en útmutatást, hogy a megfelelő betöltési sorrendben add hozzá őket. Újraindítsa a webszervert vagy a PHP-FPM-et a konfigurációs változtatások után. A Red Hat a php.ini elemet általában több SAPI között is megosztja, de ellenőrizze az aktív konfigurációt, mielőtt egy PIE-futtatásra hagyatkozna.
Telepítés az Ön platformjára
Válaszd ki az operációs rendszeredet és a webszerver konfigurációdat. Végezd el a telepítési lépéseket abban a fülben, majd kövesd a A telepítés tesztelése útmutatót.
Telepítés az Ubuntu-on
Megjegyzés:
A következő parancsok a packages.sury.org PHP tárolót használják, így kiválaszthatsz egy támogatott PHP verziót. Használd a hivatalos Microsoft utasításokat az ODBC illesztőprogram telepítéséhez az Ubuntu kiadásodhoz.
1. lépés. A PHP telepítése (Ubuntu)
sudo apt-get update
sudo apt-get install ca-certificates apt-transport-https curl gnupg2 lsb-release -y
sudo install -d -m 755 /etc/apt/keyrings
sudo curl -fsSL https://packages.sury.org/php/apt.gpg -o /etc/apt/keyrings/php.gpg
sudo chmod 644 /etc/apt/keyrings/php.gpg
echo "deb [signed-by=/etc/apt/keyrings/php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt-get update
sudo apt-get install php8.4 php8.4-dev php8.4-xml -y
2. lépés. Előfeltételek telepítése (Ubuntu)
Kövesse a Microsoft ODBC Driver for SQL Server telepítése Linux rendszeren című útmutatót, majd telepítse a fejlesztői fejléceket.
sudo apt-get install unixodbc-dev g++ make git -y
3. lépés. Telepítse a Microsoft SQL Server PHP drivereit PIE-vel (Ubuntu)
Kövesd a illesztőprogramok telepítése a PIE-vel útmutatást, és add hozzá a --with-php-config=/usr/bin/php-config8.4 elemet mindkét telepítési parancshoz. Ellenőrizd a parancssoros konfigurációs fájlokat php8.4 --ini.
/usr/local/bin/pie install --with-php-config=/usr/bin/php-config8.4 microsoft/sqlsrv
/usr/local/bin/pie install --with-php-config=/usr/bin/php-config8.4 microsoft/pdo_sqlsrv
4. lépés. Telepítse az Apache-t, és konfigurálja az illesztőprogram betöltését (Ubuntu)
sudo apt-get install apache2 libapache2-mod-php8.4 -y
sudo a2enmod php8.4
5. lépés. Indítsa újra az Apache-t, és tesztelje a mintaszkriptet (Ubuntu)
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.
PECL régi telepítése
A PECL a jelenlegi illesztőprogram-kiadásokhoz elavult. Használd a PIE-t új telepítésekhez és frissítésekhez. Ha egy meglévő telepítés a PECL-hez van rögzítve, a csomagverziókat a PHP futtatókörnyezethez igazítva kell tartani, és meg kell tervezni a PIE-re való átállást.
Teszteld a telepítésed
Ellenőrizd a parancssori futtatókörnyezetet. Alpine-on cseréld le a(z) php-t php84-re. Egy másik disztribúción verziózott PHP telepítéshez használd annak megfelelő futtatható fájlját.
php --ri sqlsrv
php --ri pdo_sqlsrv
php -m | grep -E "sqlsrv|pdo_sqlsrv"
Mindkét --ri parancsnak modul információt kell nyomtatnia, amely tartalmazza a(z) ExtensionVer-t. A modullistának külön sqlsrv és pdo_sqlsrv sorokat kell tartalmaznia.
A kapcsolat tesztelése előtt ellenőrizd mindkét PHP API felületet a(z) verify-php-drivers.php használatával:
<?php
$checks = [
'SQLSRV' => extension_loaded('sqlsrv') && function_exists('sqlsrv_connect'),
'PDO_SQLSRV' => extension_loaded('pdo_sqlsrv')
&& in_array('sqlsrv', PDO::getAvailableDrivers(), true),
];
$failed = false;
foreach ($checks as $name => $loaded) {
echo "$name: " . ($loaded ? 'loaded' : 'missing') . PHP_EOL;
$failed = $failed || !$loaded;
}
exit($failed ? 1 : 0);
Várt kimenet:
SQLSRV: loaded
PDO_SQLSRV: loaded
PHP-FPM vagy webszerver esetén korlátozd a diagnosztikai oldalhoz való hozzáférést, mielőtt ideiglenes phpinfo() oldalt hozz létre. Erősítsd meg a betöltött konfigurációs fájlt, extension_dir-t és mindkét illesztőprogram-szakaszt. Újraindítsd PHP-FPM vagy a webszervert a konfiguráció megváltoztatása vagy egy bővítmény cseréje után. Távolítsa el az oldalt az ellenőrzés után.
Az élő kapcsolat teszteléséhez hozz 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 $(brew --prefix)/var/www a macOS rendszeren érhető el. Állítsd be a PHP folyamathoz a SQL_SERVER_NAME, SQL_DATABASE, SQL_UID, és SQL_PWD környezeti változókat a szkript futtatása előtt. Ne kódolj be hitelesítési adatokat egy fájlba a dokumentumgyökér alatt.
Parancssoros teszthez használd az interaktív promptokat, hogy beállítsd a környezeti változókat jelszó beírása nélkül a shell előzményeibe.
Apache-modul teszteléséhez ne tartsd a hitelesítő adatokat a webhely általánosan olvasható konfigurációs fájljában:
Hozz létre egy privát fájlt a dokumentum gyökeren kívül. Használj egy nem használt fájlnevet az Apache konfigurációs könyvtárában. Linux rendszeren:
sudo install -o root -g root -m 600 /dev/null /etc/apache2/php-sql-driver-test.confRed Haten cseréld le
/etc/apache2-t/etc/httpd-re. macOS-en hozd létre a fájlt azzal a fiókkal, amely elindítja a Homebrew Apache-ot:install -m 600 /dev/null "$(brew --prefix)/etc/httpd/php-sql-driver-test.conf"Csak a fájl tulajdonosa és a root olvashatja ezeket a beállításokat. Az Apache-ot indító fióknak képesnek kell lennie a fájl olvasására.
Szerkesztse a privát fájlt egy szövegszerkesztőben, és adja hozzá ezeket a bejegyzéseket:
SetEnv SQL_SERVER_NAME "tcp:<server>,1433" SetEnv SQL_DATABASE "<database>" SetEnv SQL_UID "<user_id>" SetEnv SQL_PWD "<password>"A kettős idézőjelek közötti argumentumokban írj
\\minden szó szerinti fordított perjel helyére, és\"minden szó szerinti kettős idézőjel helyére. Tartsd meg az idézőjelek között a kezdő és záró szóközöket. Az Apache a${NAME}hivatkozásokat is helyettesíti. Ha egy érték tartalmazza ezt a sorozatot vagy sortörést, használd helyette a parancssori ellenőrzést. További információért lásd: Apache konfigurációs idézőjelek használata és escaping.A weboldal virtuális hostjába adj hozzá egy
Filesblokkot, amely a privát fájlt tartalmazza, és csak atestsql.phpesetén érvényes. Ha nincs konfigurálva virtuális gazdagép, helyezd el a blokkot a fő szerver konfigurációban. Cserélje le a helyőrzőt a privát fájl abszolút elérési útjával:<Files "testsql.php"> Include "<absolute-path-to-private-file>" </Files>Indítsd újra az Apache-t. Tesztelés után távolítsd el a
Fileshozzáadott blokkot, töröld a privát fájlt, és indítsd újra az Apache-t. Tartsd meg a nem kapcsolódó webhelybeállításokat.
PHP-FPM alapértelmezés szerint töröli az örökölt környezeti változókat, és a nginx nem adja át a környezetét a PHP-FPM-nek. A következő Ubuntu vagy Red Hat eljárást csak egy izolált teszt PHP-FPM szolgáltatás és pool mellett használja. Ne adj teszt hitelesítő adatokat egy olyan szolgáltatáshoz vagy készlethez, amely más alkalmazásokat futtat: minden szkript abban a készletben el tudja olvasni őket. Ha megosztott tárhelyet használsz, inkább a parancssoros tesztet használd.
Hozz létre egy root tulajdonú fájlt a dokumentum rootján kívül, például
/etc/php-sql-driver-test.env, és korlátozzuk a hozzáférést:sudo touch /etc/php-sql-driver-test.env sudo chmod 600 /etc/php-sql-driver-test.envAdja hozzá a kapcsolati beállításokat a fájlba:
SQL_SERVER_NAME="tcp:<server>,1433" SQL_DATABASE="<database>" SQL_UID="<user_id>" SQL_PWD="<password>"Minden beállítást tartsunk egy vonalon. A dupla idézőjelek között minden szó szerinti fordított perjel helyére írj
\\-t, és minden szó szerinti dupla idézőjel helyére\"-et. A dollárjeleket és a backtickeket nem értékelik shell kifejezésként. Közvetlenül szerkeszd a fájlt, ne futtasd vagy töltsd be forrásként shellben. További információért lásd: systemd EnvironmentFile szintaxis.Futtassa a
sudo systemctl edit php8.4-fpmparancsot Ubuntu-n vagy asudo systemctl edit php-fpmparancsot Red Hat-en. Add meg ezt a systemd-felülbírálást:[Service] EnvironmentFile=/etc/php-sql-driver-test.envEzeket a bejegyzéseket adjuk hozzá az aktív PHP-FPM pool konfigurációhoz. Gyakori helyek a következők:
/etc/php/8.4/fpm/pool.d/www.confaz Ubuntu-n és/etc/php-fpm.d/www.confa Red Hat-en:env[SQL_SERVER_NAME] = $SQL_SERVER_NAME env[SQL_DATABASE] = $SQL_DATABASE env[SQL_UID] = $SQL_UID env[SQL_PWD] = $SQL_PWDTöltse újra a systemd-t, és indítsa újra a vonatkozó PHP-FPM szolgáltatást:
sudo systemctl daemon-reload sudo systemctl restart php8.4-fpmRed Hat alatt cseréld le a(z)
php8.4-fpmhelyére ezt:php-fpm.
Tesztelés után távolítsd el az ideiglenes környezeti fájlt, a hozzáadott EnvironmentFile= bejegyzést, a tesztpool-bejegyzéseket és a testsql.php-t. A szolgáltatás felülírási fájlt csak akkor töröld, ha ehhez a teszthez hoztad létre, és az nem tartalmaz más beállításokat. Tartsd meg az összes meglévő felülírást és készletbeállítást. Újratöltsd a systemd-t, majd indítsd újra a PHP-FPM-et a tesztkonfiguráció eltávolítása után.
SQLSRV-példa
Tartsd változatlanul a környezeti értékeket. Minden példa ellenőrzi, hogy nincsenek-e hiányzó vagy üres beállítások a csatlakozás előtt. Minden példa megduplázza a záró kapcsos zárójeleket, és külső kapcsos zárójeleket ad hozzá, mielőtt átadná az adatbázis nevét, a felhasználónevet és a jelszót az illesztőprogramnak. Ez a kódolás megőrzi a literális kapcsos zárójeleket, és megakadályozza, hogy a félvesszők elválasszák a csatlakozási lehetőségeket.
<?php
$serverName = getenv('SQL_SERVER_NAME');
$databaseName = getenv('SQL_DATABASE');
$uid = getenv('SQL_UID');
$pwd = getenv('SQL_PWD');
if ($serverName === false || $serverName === ''
|| $databaseName === false || $databaseName === ''
|| $uid === false || $uid === ''
|| $pwd === false || $pwd === '') {
handle_failure("Set SQL_SERVER_NAME, SQL_DATABASE, SQL_UID, and SQL_PWD.");
}
$databaseName = '{' . str_replace('}', '}}', $databaseName) . '}';
$uid = '{' . str_replace('}', '}}', $uid) . '}';
$pwd = '{' . str_replace('}', '}}', $pwd) . '}';
$connectionOptions = array(
"Database" => $databaseName,
"UID" => $uid,
"PWD" => $pwd,
"Encrypt" => 1,
"TrustServerCertificate" => 0
);
function handle_failure($message) {
error_log($message);
http_response_code(500);
echo "<h1>Failure</h1>";
echo "An error occurred. Check the server error log for details.";
exit(1);
}
function format_errors($errors) {
$lines = [];
foreach ($errors as $error) {
$lines[] = "SQLSTATE: {$error['SQLSTATE']}, code: {$error['code']}, message: {$error['message']}";
}
return implode(PHP_EOL, $lines);
}
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
handle_failure(format_errors(sqlsrv_errors()));
}
$tsql = "SELECT @@Version AS SQL_VERSION";
$stmt = sqlsrv_query($conn, $tsql);
if ($stmt === false) {
handle_failure(format_errors(sqlsrv_errors()));
}
$row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
if ($row === null || $row === false) {
handle_failure("Query returned no rows.");
}
echo "<h1>Success</h1>";
echo htmlspecialchars($row['SQL_VERSION']);
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>
PDO_SQLSRV példa
<?php
$serverName = getenv('SQL_SERVER_NAME');
$databaseName = getenv('SQL_DATABASE');
$uid = getenv('SQL_UID');
$pwd = getenv('SQL_PWD');
if ($serverName === false || $serverName === ''
|| $databaseName === false || $databaseName === ''
|| $uid === false || $uid === ''
|| $pwd === false || $pwd === '') {
handle_failure(new RuntimeException("Set SQL_SERVER_NAME, SQL_DATABASE, SQL_UID, and SQL_PWD."));
}
$databaseName = '{' . str_replace('}', '}}', $databaseName) . '}';
$uid = '{' . str_replace('}', '}}', $uid) . '}';
$pwd = '{' . str_replace('}', '}}', $pwd) . '}';
function handle_failure($exception) {
error_log($exception->getMessage());
http_response_code(500);
echo "<h1>Failure</h1>";
echo "An error occurred. Check the server error log for details.";
exit(1);
}
try {
$conn = new PDO(
"sqlsrv:server=$serverName;Database=$databaseName;Encrypt=1;TrustServerCertificate=0",
$uid,
$pwd
);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$tsql = "SELECT @@Version AS SQL_VERSION";
$stmt = $conn->query($tsql);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row === false) {
throw new RuntimeException("Query returned no rows.");
}
echo "<h1>Success</h1>";
echo htmlspecialchars($row['SQL_VERSION']);
} catch (Throwable $exception) {
handle_failure($exception);
}
unset($stmt);
unset($conn);
?>
Mutasson a böngészőre http://localhost/testsql.php (http://localhost:8080/testsql.php macOS rendszeren). Egy sikeres kapcsolat megjeleníti az adatbázis-szerver verziókarakterláncát. Mindkét példa hibaadatokat ír a PHP hibanaplóba. Ha az oldal hibát mutat, nézd meg azt a naplót.
A parancssori és a webszerver viselkedésének összehasonlításához állítsd be ugyanazokat a környezeti változókat a terminálhoz, és futtasd:
php testsql.php
Ha a parancssorról futni sikerül, de a böngészőben semmi sem jelenik meg, nézd meg az Apache naplófájlokat. További segítségért lásd: A PHP SQL illesztőprogram támogatási forrásai.
Értékeld külön a kapcsolódási programokat az SQL Server, az Azure SQL Database, az Azure SQL Managed Instance, az Azure Synapse Analytics, a Microsoft Fabric SQL-adatbázisa és a Microsoft Fabric Warehouse esetén. A kiválasztott hitelesítési módszert, a kapcsolati lehetőségeket és a lekérdezést a célpontnak támogatnia kell. A telepítés kliensoldali. Egy sikeres kiterjesztési ellenőrzés nem bizonyítja, hogy a célpont elfogadja a hitelesítő adatokat, megbízik az ügyfélben, vagy támogatja az összes adatbázis-funkciót.
Telepítés hibaelhárítása
| Tünet | Tulajdonosi réteg | Helyesbítő intézkedés |
|---|---|---|
A PIE nem talál phpize, php-config, vagy fejléceket |
PHP fejlesztési csomagok | Telepítsd a fejlesztőcsomagot a cél PHP verzióhoz, és add meg a megfelelő --with-php-config opciót |
| A fordítás nem sikerül, mert hiányzik egy C++ fordító | Operációs rendszer buildeszközei | Telepítsd a C++ platform fordítócsomagját, például g++ vagy gcc-c++ |
A fordítás nem találja sql.h |
ODBC fejlesztőcsomag vagy fordító elérési útjai | Telepítse a unixodbc-dev vagy a unixODBC-devel elemet; Apple szilíciumon állítsa be a Homebrew include és könyvtár zászlókat |
php --ri azt mondja, a bővítmény nincs jelen |
PHP konfiguráció | Vizsgáld meg a betöltött php.ini fájlt és a beolvasási könyvtárat, add hozzá a helyes bejegyzést, és indítsd újra a folyamatot |
PDO-jelentések could not find driver |
PDO_SQLSRV betöltési vagy PDO betöltési sorrend | Győződj meg arról, hogy a PDO először töltődik be, és a PDO_SQLSRV egy később beolvasott konfigurációs fájlt használ |
| A CLI működik, de az Apache, nginx vagy PHP-FPM meghibásodik | SAPI-specifikus konfiguráció | Hasonlítsd össze a CLI kimenetet a következővel: phpinfo(), konfiguráld a web SAPI-t, és indítsd újra. |
| A böngésző HTTP 502-t ad vissza nginx-en át | nginx–PHP-FPM útválasztás | Ellenőrizd a fastcgi_pass socketet a telepített PHP-FPM-verzióval, és ellenőrizd, hogy működik a szolgáltatás |
| A böngészőminta hiányzó környezeti értékeket jelent | Webszerver vagy PHP-FPM környezet | Konfiguráld a változókat a kiválasztott webes futtatókörnyezethez, majd indítsd újra a kiválasztott webes futtatókörnyezetet |
| A bővítmények betöltődnek, de a kapcsolat létrehozása sikertelen | ODBC, hálózat, tanúsítvány, hitelesítés vagy SQL termék | Olvasd el az SQLSTATE és a natív hibát a szervernaplóból; ne építsd újra a bővítményt, kivéve, ha a hiba a betöltéssel vagy a bináris kompatibilitással kapcsolatos. |
Távolítsd el az ideiglenes tesztkonfigurációt
Ellenőrzés után:
Töröld
testsql.php,verify-php-drivers.php, és bármely ideiglenesphpinfo()oldalt a dokumentum gyökéréből.Távolítsd el az ideiglenes hitelesítő adatokat és környezeti továbbítási bejegyzéseket.
Töltsd újra a szolgáltatáskezelőt, amikor megváltoztatod a systemd felülbírálását, majd indítsd újra a PHP-FPM-et vagy a webszervert.
Tartsd meg azokat a bővítménybejegyzéseket és telepített csomagokat, amelyeket az alkalmazás igényel.