Lekcia - Inštalácia CHOP. Na ovládačoch PDO v systéme Windows nezáleží

  • 03.11.2019

Posledná aktualizácia: 30.10.2015

Predchádzajúca kapitola priniesla prehľad základných pojmov a funkcionalitu MongoDB. V skutočnosti však cez konzolu bude pracovať len málo ľudí, ktorí prenesú jeden dokument do databázy. Databáza zvyčajne prijíma prúd údajov z externej aplikácie alebo naopak tieto údaje do nej vráti. Preto musíme zorganizovať prácu medzi MongoDB a aplikáciou napísanou v jednom z programovacích jazykov. Ako programovací jazyk, ktorého príkladom budeme uvažovať o takejto interakcii, je vybrané PHP ako jeden z najrozšírenejších jazykov.

Inštalácia ovládača pre PHP

Nainštalujte ovládač pre jazyk PHP. Samotný ovládač je možné stiahnuť zo stránky projektu na github: https://github.com/mongodb/mongo-php-driver.

Po stiahnutí ovládača a rozbalení jeho balíka na systémoch Unix zadajte nasledujúce príkazy:

Phpize ./configure make sudo make install

A potom do súboru php.ini pridajte nasledujúci riadok:

Prípona \u003d mongo.so

Ak chcete nainštalovať ovládač v systéme Windows OS, stiahnite si najnovší balík z adresy https://s3.amazonaws.com/drivers.mongodb.org/php/index.html. Momentálne je posledné balenie php_mongo-1.4.5.zip.

Poďme si teda tento archívny balík stiahnuť a rozbaliť. Bude obsahovať ovládače pre možné verzie php. Musíte si zvoliť ten, ktorý zodpovedá vašej php verzii a vložiť zodpovedajúci súbor ovládača do adresára php / extkde sú uložené všetky rozšírenia pre php.

Potom musíte vykonať zmenu v súbore php.inipridaním nasledujúceho riadku do časti, kde sú rozšírenia spojené:

Prípona \u003d php_mongo- [verzia] .dll

Napríklad v mojom prípade s php 5.4 Tread Safe som pridal do adresára php / ext spis php_mongo-1.4.5-5.4-vc9.dll... A tak v php.ini pridávam rozšírenie \u003d php_mongo-1.4.5-5.4-vc9.dll

Potom znova načítame webový server a otestujeme. Ak chcete otestovať pripojenie ovládača mongodb, môžete použiť štandardnú funkciu phpinfo (), ktorá odosiela všetky informácie o php na webový server. V našom prípade by malo mať výstup nasledujúce:

Pripojenie k MongoDB z PHP

Po pripojení ovládača k php môžeme teraz nadviazať spojenie s databázou a komunikovať s ňou z php kódu.

Pre nadviazanie spojenia s databázou stačí do kódu napísať jeden riadok:

$ pripojenie \u003d nové Mongo ();

V tomto prípade sa pripájame k serveru bežiacemu na localhost na štandardnom porte 27017. Môžeme sa však pripojiť aj k externému serveru:

$ connection \u003d new Mongo ("somesite.com");

Tu hovoríme o pripojení k serveru MongoDB, ktorý beží na doméne somesite.com a tiež na porte 27017. Ak sa použije iný port, môžeme ho tiež určiť:

$ connection \u003d new Mongo ("somesite.com:888");

Po dokončení práce s databázou môžeme pripojenie uzavrieť pomocou metódy close:

$ connection-\u003e close ();

Vytváranie dokumentov v PHP

Už sme videli, že dokument v mongodb skutočne predstavuje objekt vo formáte podobnom JSON. Môže ukladať kľúče, ku ktorým sú priradené niektoré hodnoty. Samotné hodnoty môžu tiež predstavovať zložité objekty kľúčov a hodnôt. Takže sme vytvorili dokument, ktorý predstavuje jednotlivca:

\u003e steve \u003d (("name": "Steve", "age": 25, "languages": ["engish", "french"), spoločnosť: ("name": "Apple", "year": 1976) ))

Vytvorme podobný dokument v PHP. Použijeme na to asociatívne polia:

$ steve \u003d array ("name" \u003d\u003e "Steve", "age" \u003d\u003e 25, "languages" \u003d\u003e array ("engish", "french"), "company" \u003d\u003e array ("name" \u003d\u003e " Apple "," year "\u003d\u003e 1976))

Rovnaký problém som mal aj pri inovácii na PHP 5.4. mal som

Extension_dir \u003d "ext"

v php.ini a php -m to začalo dobre a hlásil som, že načítava pdo_mysql, ale keď som spustil phpinfo.php cez apache, vodič chýbal.

Opravil som to zmenou extension_dir na absolútna cesta ... Hádam sa to pri práci cez Apache zmiatlo a dostalo sa to do vzťahu s niečím iným.

; Adresár, v ktorom sa nachádzajú načítateľné rozšírenia (moduly). ; http://php.net/extension-dir; extension_dir \u003d "./"; V systéme Windows: extension_dir \u003d "D: /php-5.4.11-Win32-VC9-x86/ext"

skúste to, nájdite to vo svojom php.ini a odkomentujte extension_dir \u003d "ext"

; Adresár, v ktorom sa nachádzajú načítateľné rozšírenia (moduly). ; http://php.net/extension-dir; extension_dir \u003d "./"; V systéme Windows: extension_dir \u003d "ext"

Vyskúšajte php -m v konzole, ukáže chyby pri spustení PHP.

Skontrolujte pomocou phpinfo (), či je cesta k php.ini rovnaká. V počítačoch so systémom Windows je bežné vytvárať viac inštancií súboru php.ini a spôsobiť zmätok.

Zavolaním php z príkazového riadku získate chybové hlásenie s ďalšími podrobnosťami o tom, prečo ho nebolo možné načítať. Je možné, že rozšírenie, ktoré sa pokúšate zahrnúť, je nekompatibilné s vašou inštaláciou PHP. tie. je to nebezpečná dll s binárnym súborom bezpečným pre vlákna alebo niekde existuje nesúlad kompilátora, kde sa používajú verzie vc9 aj vc6.

Na Windows Server 2012, Apache 2.4, inštalácii php 5.4, po zmene všetkého ostatného to fungovalo ...

PHPIniDir "C: \\ php \\"

PHPIniDir "C: / php /"

Po zmene konfigurácie php.ini musíte reštartovať server Appche v službe Windows. Potom sa doplnok načíta. na kontrolu použite nasledujúci kód:

Tento problém som dostal vo Windows pomocou IIS. Môj php.ini mal nasledujúce sekcie:

Prípona \u003d php_pdo_mysql.dll rozšírenie \u003d php_pdo.dll

Len som vzal a zamenil svoje pozície, aby som sa objavil ako prvý. Myslím si, že poradie vyhlásenia je dôležité!

Mihaiov komentár z roku 2012 znie: „Vyskúšajte v konzole php -m, pri spustení PHP sa zobrazia chyby.“ Ukázalo sa, že tento návrh bol najužitočnejší. Ak sa v súbore php.ini vyskytnú chyby, Windows PHP Manager (IIS 8) celkom nerozumie tomu, čo sa deje s php.ini.

Prejdite na príkazový riadok a do príkazového riadku zadajte príkaz php -m. Vyskakovacie okno (varovanie) vás bude informovať o akýchkoľvek chybách a poskytne čísla riadkov pre tieto problémy. Väčšinou bol môj jediný problém to, že som nekomentoval (odstránil pol riadok) na viacerých riadkoch php.ini, kde som to NEMAL urobiť.

Ďalším užitočným tipom pre mňa bolo vloženie úplnej cesty k priečinku s rozšíreniami (pozri komentár vyššie Jeremyho Pryneho), ktorý pomohol pri správach „chýbajúcich DLL“, ktoré sa objavovali vo varovaniach.

Dostal som tu rady:

Používam PHP 5.2 s Apache 2.2. Oprava pre mňa bola skopírovať súbor libmysql.dll do môjho adresára Apache bin.

Každému, kto má tento problém, by som odporučil nasledujúci postup: 1) skontrolujte, či je načítaný konfiguračný súbor tam, kde si myslíte, že je (tj. Že Apache nepoužíva žiadny predvolený php.ini) - phpinfo ( ) poskytne odpoveď na túto otázku 2) uistite sa, že všetky prípony, ktoré chcete, sú v priečinku php \\ ext a sú obsiahnuté v súbore php.ini (najobľúbenejšie prípony je potrebné rozdeliť). 3) Skúste si stiahnuť pdo_sqllite. Ak sa to stalo v phpinfo () po reštarte Apache, zmenšili ste problém, že Apache nedokáže načítať požadované prípony mysql. 4) Postupujte podľa pokynov vo vyššie uvedenom odkaze.

Tiež som mala tento problém. Mám Apache / 2.2.22 (Win32) PHP / 5.3.23 na počítači so systémom Windows 7. Moje riešenie bolo zmeniť príponu extension_dir \u003d C: \\ Program Files (x86) \\ PHP \\ ext v súbore php.ini na extension_dir \u003d "C: \\ Program Files (x86) \\ PHP \\ ext ". Bolo len potrebné pridať úvodzovky.

uistite sa, že súbory pdo * .dll sú na správnom mieste v adresári OS, skontrolujte, či sú odkazy na tieto súbory obsiahnuté v php.ini, skontrolujte, či je váš dbconnection riadok správny, reštartujte apache

Chyba PHP PDO neexistuje v 5.4

Fatal error: Class "DigitalToolBox \\ PDO" not found in C: \\ SERVER \\ www \\ MyAPP \\ DigitalToolBox \\ MysqlConnectionTool.php on line 19

môžete vidieť, že pdo je načítané, pretože je uvedené v tomto príkaze:

Print_r (get_loaded_extensions ());

toto chyba sa hodí pri používaní menných priestorov , musíme pridať vyhlásenie na začiatok nášho kódu:

Používať CHOP;

AK ($ this-\u003e funguje) $ voteForThis ++;

Ak používate Správcu PHP so službou IIS, postupujte takto:

Ovládače PDO nemajú žiadnu hodnotu - vaše záznamy DLL nie je možné objednať v súbore php.ini. Skontrolujte zoznam položiek rozšírenia DLL.

Prípona \u003d php_pdo_mysql.dll

záznamy by mali byť umiestnené vedľa všetkých záznamov pdo. Ako napr

Prípona \u003d php_mysql.dll

záznamy by mali byť zverejnené vedľa všetkých záznamov iných ako pdo.

Chmeľ pomáha.

V PHP 7.1 x64 na Windows s Apache 2.4 x64:

extension_dir \u003d "ext" pre mňa nefunguje,

Absolútna cesta: extension_dir \u003d "C: \\ DEV \\ PHP71 \\ ext \\" fungoval dobre

Tento príspevok som sa rozhodol napísať, pretože som nemohol nájsť jednoduchý a jasný popis inštalácie PHP na Windows a nastavenia tejto nie veľmi bežnej kombinácie pre prácu s MS SQL 2008.

Teraz pracujeme na prenose najväčšieho systému, aký bol kedy v Deep Shift Labs vytvorený, z Windows 2000 a MS SQL 2000 na Windows 2008 a MS SQL 2008. Chcem stručne povedať o histórii tohto systému a o tom, prečo sme vlastne potrebovali nainštalovať PHP na Windows ... Tento systém má asi 800 000 riadkov kódu PHP a pracuje na ňom posledných 10 rokov. Tento systém bol vytvorený pre jedného z našich zákazníkov. Prvých pár rokov fungoval systém na platformách FreeBSD, Apache a PostgreSQL. Potom sa zákaznícka spoločnosť stala verejnou a mali problém s prechodom na komerčný softvér. Niekde v roku 2004 sa nám podarilo - vďaka tomu, čo sme pôvodne používali - s minimálnymi nákladmi, najskôr prejsť z FreeBSD / Apache na Windows 2000 / IIS 5 (PHP funguje ako modul ISAPI) a potom v roku 2006 previesť malé ako svojou štruktúrou, tak aj veľkosťou, založené na MS SQL 2000.

Najťažšou vecou v tom vzdialenom roku 2006 bolo nájsť ovládač, ktorý dokáže pracovať s MS SQL. Bolo vyskúšané všetko, s čím ADODB mohol pracovať, a nakoniec sme použili php_dblib.dll od Franka Cromana. Frank v tom čase podporoval rozšírenia MS SQL v PHP a veľmi nám pomohol s dobrými radami. Vtedajší ovládač php_mssql.dll používal súbor ntwdblib.dll od spoločnosti Microsoft, ktorý s dátumami a dlhými textami nepracoval dobre. php_dblib.dll použil dblib.dll z FreeTDS a nezistili sme s ním žiadne problémy.
A potom prišiel čas, keď zákazník chcel prejsť na operačný systém a verzie databáz, ktoré podporuje Microsoft (Windows 2000 a MS SQL 2000 už nie sú podporované), čo je vo všeobecnosti vo veľkých spoločnostiach bežná požiadavka. Prirodzene, vo verzii ADODB 4.93 z roku 2006, ktorú sme použili, neexistovala podpora pre ovládač mssqlnative, a preto bola úloha nastavená takto:

Presuňte databázu MS SQL 2000 do MS SQL 2008
- migrácia webového servera z Windows 2000 a IIS 5 (ISAPI) na Windows 2008 a IIS 7 (FastCGI)
- upgrade z PHP 5.1.6 na PHP 5.4.6
- upgrade z ADODB 4.93 na 5.17 so súčasnou aktualizáciou na nový ovládač „mssqlnative“
- otestujte systém vrátane dvoch replikácií našej databázy zo serverov MS SQL 2000 a MS SQL 2005

Môžete si položiť rozumnú otázku: prečo vlastne inštalujeme 5.3.13 a potom prechádzame na 5.4.6? Existujú dva dôvody. Najprv som jednoducho nemohol nainštalovať 5.4.6 s konfiguráciou IIS ručne. Pretože som nemal problémy, PHP nevidelo súbor php.ini umiestnený v C: \\ PHP. Podľa všetkých pokynov musíte vytvoriť premennú PHPRC určujúcu cestu k priečinku pomocou súboru php.ini, ale v mojom prípade niekto urobil niečo zlé.

Pretože PHP nevidilo konfiguračný súbor, nenačítali sa ani ovládače MS SQL. Uviaznutý na tomto mieste na pár hodín a pýtajúci sa na fóre, začal som hľadať alternatívy, zatiaľ čo som čakal, kým sa Amerika prebudí a uvidí vo fóre moje správy „SOS“. Vtedy som náhodou narazil na web http://www.microsoft.com/web/platform/phponwindows.aspx, kde som našiel alternatívu, ktorú som hľadal. Možno by som nezačal používať inštalačný program, keby mi neponúkol inštaláciu magického a úžasného, \u200b\u200bktorého by som nemohol odmietnuť možnosť „dotknúť sa“. Vo výsledku sa ukázalo, že PHP Manager sa pripája normálne 5.4.6, čím zviditeľňuje svoj súbor php.ini.

Dávam do pozornosti jednu z metód inštalácie.


2. Stiahnite si verziu PHP, ktorá nie je bezpečná pre vlákna, odporúčanú pre použitie a. Súbor bude v názve obsahovať _nts_, napríklad - php-5.4.6-nts-Win32-VC9-x86.zip (najnovšia dostupná verzia v čase písania tohto článku) zo stránky http://windows.php.net/download/.
3. Rozbaľte ho na C: \\ PHP
4. Stiahnite si najnovšiu verziu ovládačov MS SQL z Microsoftu (súbor SQLSRV30) a rozbaľte ju na C: \\ PHP \\ ext
5. Stiahnite si inštalačný program PHP z webovej stránky spoločnosti Microsoft. Použil som 5.3.13. Nainštalujte ho.

Nainštaluje sa všetky požadované komponenty. Uplynulo asi 10 rokov a na webových stránkach spoločnosti Microsoft sú skutočne skvelé veci pre prácu v prostredí Windows v PHP - tu máte ovládač aj inštalátor, ktorý v útrobách IIS a Windows Cache pre IIS vytvára špeciálnu konzolu PHP.

Po inštalácii máme nainštalované PHP 5.3.13 v Program Files a PHP Manager v IIS.

Ako vidíte, v Správcovi PHP môžete spravovať konfiguračné parametre z súboru php.ini a rozšírenia sa vyberajú osobitne. Tiež tu môžete vidieť, ktorý súbor php.ini sa používa a kde sú zapísané chybové protokoly. Existuje rýchly prístup k obslužnej rutine FastCGI vytvorenej inštalačným programom. Je možné pridať ďalšie verzie PHP a prepínať ich. Netestovali sme, či je možné pomocou PHP Manager spustiť jednu verziu PHP na jednom virtuálnom hostiteľovi a inú verziu PHP na inom. Myslím si, že toto a ešte oveľa viac, napríklad použitie rôznych konfiguračných súborov na rôznych virtuálnych hostiteľoch, je možné vykonať manuálne pomocou vynikajúceho Ruslana Yakusheva od spoločnosti Microsoft. Potrebovali sme len pridať PHP vo verzii 5.4.6 a „uchytiť sa na dosiahnutých míľnikoch“.

Teraz môžeme pridať PHP 5.4.6, ktoré máme v C: \\ PHP. Po pridaní vidíme, že sa teraz používa nová verzia PHP a že PHP Manager vytvoril nový obslužný program, ktorý sa používa (toto nevidíme), ale môžeme vidieť stránku phpinfo (), ktorú PHP Manager vytvára dynamicky (super!) ...

Teraz je čas začať robiť rozšírenia. Odstránil som mysql a pridal som verzie ovládačov sqlsrv aj pdo_sqlsrv. Nekontroloval som, či služba IIS vidí zmeny hneď, pretože po úpravách som si už zvykol vykonať príkaz konzoly ‘iisreset’.

PHP Manager ponúka dve možnosti konfigurácií spracovania chýb: predkonfigurované pre vývoj a výrobu.

V prípade zmeny cesty k protokolu chýb nevidel PHP Manager moje zmeny a IIS bolo potrebné reštartovať. Som zvyknutý na staromódny spôsob, že dočasný priečinok na stiahnutie, relácie PHP a protokoly sú v C: \\ tmp. Vo všeobecnosti sú položky „Konfigurovať hlásenie chýb“ a „Nastaviť limity za behu“ iba na uľahčenie, pretože všetky z nich (okrem rozširujúcich modulov) sú dostupné v časti „Spravovať všetky nastavenia“.

Ak potrebujete spracovať súbory HTML pomocou PHP, vytvorte ďalšie mapovanie pomocou parametrov mappinga pre PHP.

Teraz sa pokúsime pripojiť k MS SQL pomocou ovládača a cez ADODB. Najprv sa musíte ubezpečiť, že server umožňuje pripojenie TCP / IP a že port 1433 je otvorený v bráne firewall systému Windows.

V mojom prípade to tak nebolo. Ak sa nemôžete pripojiť z PHP, odporúča sa nainštalovať a použiť na testovanie - SQLCMD (napríklad tu je verzia, ktorú potrebujeme).

Rád by som upriamil vašu pozornosť na skutočnosť, že nový ovládač spoločnosti Microsoft vracia datetime ako objekt PHP DateTime. Používame však program ADODB, ktorý:

$ this -\u003e fields [$ key] \u003d $ value -\u003e format („Y-m-d \\ T H: i: s \\ Z ") ;

na riadku 794 adodb-mssqlnative.inc.php. Takže nám vrátite reťazec „2012-08-22T23: 42: 22Z“ namiesto obvyklého „2012-08-22 23:42:22“, a preto z dôvodu spätnej kompatibility môžete opraviť adodb-mssqlnative.inc.php takto:

if (is_array ($ this -\u003e fields)) (foreach ($ this -\u003e fields as $ key \u003d\u003e $ value) (if (is_object ($ value) && method_exists ($ value, "format")) (// is Objekt DateTime // $ this-\u003e fields [$ key] \u003d $ value-\u003e format ("Y-m-d \\ TH: i: s \\ Z"); // Oprava výstupného formátu DSL DateTime $ this -\u003e fields [$ key] \u003d $ value -\u003e format ("Y-m-d H: i: s"); )))

Tu je príklad súboru, ktorý zobrazuje príklady použitia ovládača Microsoft priamo a cez ADODB.

"Priame pripojenie vodiča
" ; $ connectionInfo \u003d array ("UID" \u003d\u003e "aws_user", "PWD" \u003d\u003e "Q1w2e3r4t5", "databáza" \u003d\u003e "AWS_Database"); / * Pripojte sa pomocou overenia servera SQL Server. * / $ conn \u003d sqlsrv_connect ("192.168.3.86, 1433", $ connectionInfo); if ($ conn \u003d\u003d\u003d false) (echo "Nedá sa pripojiť.
"; die (print_r (sqlsrv_errors (), true));) $ tsql \u003d" VYBERTE GETDATE () AS dnes "; $ stmt \u003d sqlsrv_query ($ conn, $ tsql); if ($ stmt \u003d\u003d\u003d false) (echo "Chyba pri vykonávaní dotazu.
"
; die (print_r (sqlsrv_errors (), true)); ) $ riadok \u003d sqlsrv_fetch_array ($ stmt, SQLSRV_FETCH_ASSOC); ozvena „Dnes je“. $ riadok ["dnes"] -\u003e formát ("Y-m-d H: i: s"). „
"; sqlsrv_free_stmt ($ stmt); sqlsrv_close ($ conn); ini_set (" include_path ", ini_get (" include_path ")."; ". $ _SERVER [" DOCUMENT_ROOT "]." / include "); require_once (" adodb5 \\ Natívne pripojenie ADODB MSSQL "; $ adoConnection \u003d ADONewConnection ("mssqlnative");
"
// $ adoConnection-\u003e debug \u003d true; $ adoConnection -\u003e Pripojiť ($ server, $ užívateľ, $ heslo, $ databáza); $ rs \u003d $ adoConnection -\u003e Vykonať ($ tsql); ozvena „Dnes je“. $ rs -\u003e polia [„dnes“]. „ "; $ adoConnection -\u003e Zavrieť ();?\u003e
Na záver by som rád poznamenal, že na webe spoločnosti Microsoft nájdete veľa užitočných informácií. Napríklad nájdete príspevok do fóra PHP / IIS a ďalšie užitočné odkazy. Nachádzajú sa fóra venované ovládačom PHP pre databázy MS SQL. Nie som jedným z nich -

{!LANG-bf2d8f0452f731c047ca1c7636a10497!}

Ako sa vám podarilo nainštalovať program Microsoft Drivers 3.0 pre PHP v5.4 pre SQL Server v IIS pomocou inštalačného programu webovej platformy? Na Windows 2008 Server a MS SQL 2008 a IIS7 prostredníctvom inštalátora webovej platformy, ktorý nechcel inštalovať, došlo k chybe:
Tento produkt nie je možné nainštalovať, pretože produkt, na ktorom závisí, nebol úspešne nainštalovaný.

A tu sú chyby závislostí:
Produkt: Natívny klient Microsoft SQL Server 2012 - Inštalácia tohto produktu zlyhala, pretože tento operačný systém tento produkt nepodporuje. Informácie o podporovaných konfiguráciách nájdete v dokumentácii k produktu.

Ako ste teda nainštalovali natívneho klienta Microsoft SQL Server 2012, ak inštalačný program tvrdí, že ho Windows 2008 Server nepodporuje?

Nainštaloval som „Microsoft Drivers 3.0 for PHP v5.4 for SQL Server in IIS via Web Platform Installer“

Stiahol som si inštalátor PHP 5.3.6 z Microsoftu a nainštaloval som ho. Potom som len pridal 5.4. V príspevku sa odsek začína slovami „Teraz môžeme pridať PHP 5.4.6, ... ..“.
Prípravné práce na 5.4.6 sú popísané vyššie v príspevku:

1. Vytvorte priečinky C: \\ PHP a C: \\ tmp
2. Tu a tu si stiahnite verziu PHP, ktorá nie je bezpečná pre vlákna, odporúčanú na použitie. Súbor bude v názve obsahovať _nts_, napríklad - php-5.4.6-nts-Win32-VC9-x86.zip (najnovšia dostupná verzia v čase písania článku) z http://windows.php.net/download/.
3. Rozbaľte ho na C: \\ PHP
4. Stiahnite si najnovšiu verziu ovládačov MS SQL z Microsoftu (súbor SQLSRV30) a rozbaľte ju na C: \\ PHP \\ ext

Pozri bod 4? Iba rozbalili a vložili do priečinka. Neexistuje žiadny inštalátor webovej platformy

Je to tak, že vaša snímka obrazovky zobrazuje inštalátor webovej platformy

PS: problém je vyriešený, bolo potrebné nainštalovať SP2 pre Windows 2008 Server, tk. na SP1 alebo vôbec bez balíka service pack, nedodávať. Mimochodom, stále som nechápal, aký bol dôvod dať 5.3.6, potom dať 5.4.6? Pochopil som vysvetlenie, ale otázka je, prečo presne 5.3.6, prečo nie 5.4.0 (a potom dať 5.4.6)?

Asi 5.3.6 v príspevku, ani slovo.

Inštalátor webovej platformy nainštaluje všetko v týchto dvoch verziách (momentálne je na webe spoločnosti Microsoft) - http://www.microsoft.com/web/platform/phponwindows.aspx PHP 5.2.17 a 5.3.5.
Keď som nainštaloval najnovšiu dostupnú verziu inštalátora webovej platformy, bolo to 5.3.13 a potreboval som 5.4. Popísal som teda proces inštalácie 5.3.13 z inštalátora webovej platformy a pridania 5.4 po skutočnosti.

Pokiaľ ide o: „Produkt: Microsoft SQL Server 2012 Native Client - Inštalácia tohto produktu zlyhala, pretože tento operačný systém tento produkt nepodporuje. Informácie o podporovaných konfiguráciách nájdete v dokumentácii k produktu. “

Ako je už u Microsoftu zvykom, SP2 nenájdete ako požiadavku, ale nižšie v komentároch:
——————
„Nativní klient SQL Server 2012 je možné nainštalovať so systémom Windows Server 2008 SP2“

Windows Server 2008 - zlyhanie
- Windows Server 2008 SP1 - zatiaľ netestované
- Windows Server 2008 SP2 - úspech!
——————-

V zásade som pred inštaláciou aktualizoval svoj Win 2008 R2 a tento problém som nenarazil a vo výsledku som ho vo svojom príspevku neopísal.

„Asi 5.3.6 v príspevku ani slovo.“ - Beriem späť svoje slová. Keby ste nenapísali, chyba by zostala. Vďaka. Opravený príspevok. Nainštaloval som nie 5.3.6, ale 5.3.13, ktorý bol v čase písania príspevku posledný dostupný z Web Installeru.

mimochodom, celý proces sa dá mierne urýchliť, ak si všetko nainštalujete cez Inštalátor webovej platformy, nakoniec si k sebe stačí len samostatne pridať novšiu verziu PCP a nie je potrebné nič sťahovať manuálne, všetko sa deje takmer automaticky.

  • mimochodom, celý proces sa dá mierne urýchliť, ak si všetko nainštalujete cez Inštalátor webovej platformy,

    A tak sa aj stalo. Čo vidíte v mojom príspevku ako nadbytočné?

  • 1. ovládač PDO a PDO_Sqlite je štandardne povolený v PHP 5.1.0. Možno budete musieť zvoliť iný ovládač PDO pre konkrétnu databázu. V takom prípade si prečítajte dokumentáciu pre konkrétnu databázu ovládačov PDO.

    Poznámka: Pri vytváraní PDO ako zdieľaného rozšírenia (neodporúča sa) musia byť všetky ovládače PDO načítané po PDO samy.

    2. Ak inštalujete PDO ako všeobecný modul, mali by ste zmeniť súbor php.ini tak, aby sa prípona PDO načítala automaticky, beží PHP.

    Musíte sa tiež ubezpečiť, že sú k dispozícii konkrétne ovládače databázy a ktoré sú uvedené po pdo.so, pretože pred zavedením ovládačov databázy PDO musí byť najskôr inicializovaný PDO.

    Ak ste spustili PDO staticky pre konkrétnu databázu rozšírení, môžete tento krok preskočiť.

    3. rozšírenie \u003d pdo.so

    Inštalácia CHOP na systémoch Windows

    1. PDO a všetky hlavné ovládače PDO sa dodávajú s PHP ako všeobecné rozšírenia. Pre aktiváciu musíte odkomentovať potrebné riadky v súbore php.ini:

    Prípona \u003d php_pdo.dll

    Poznámka: Tento krok nie je potrebný pre PHP 5.3 a vyššie, pretože pre PDO už DLL nie je potrebná.

    Prípona \u003d php_pdo.dll
    rozšírenie \u003d php_pdo_firebird.dll
    rozšírenie \u003d php_pdo_informix.dll
    rozšírenie \u003d php_pdo_mssql.dll
    rozšírenie \u003d php_pdo_mysql.dll
    rozšírenie \u003d php_pdo_oci.dll
    rozšírenie \u003d php_pdo_oci8.dll
    rozšírenie \u003d php_pdo_odbc.dll
    rozšírenie \u003d php_pdo_pgsql.dll
    rozšírenie \u003d php_pdo_sqlite.dll

    Tieto knižnice musia existovať v adresári „extension_dir“ systému.

    Kontrola práce CHOP

    Skontrolujte, či sa PDO pripája pomocou funkcie phpinfo ().

    Phpinfo ();

    Na stránke musíte nájsť blok PDO, ako aj bloky pdo_mysql, pdo_sqlite atď. v závislosti od pripojených ovládačov PDO.

    Spustite nasledujúci kód.

    Echo "Dostupné ovládače:";
    print_r (PDO :: getAvailableDrivers ());
    $ pdo \u003d nový CHOP ("sqlite: my.db");
    echo "PDO Object:";
    print_r ($ pdo);

    Výsledkom vykonania by mal byť riadok:

    Objekt PDO ()

    Čo znamená, že pripojenie k databáze SQLite je v poriadku. Výsledkom vykonania skriptu bude súbor my.db vytvorený v adresári skriptu.

    Nastavenie PDO

    Nastavenia PDO ako pdo.dsn. *

    nastavenia ako pdo.dsn. * - umožňuje určiť predvolené parametre prístupu.

    Zmeniť úroveň pdo.dsn. * Premenné - súbor php.ini