Komentáře k článku

Hostujeme PHP aplikace na Windows

Naprostá většina webových programátorů v PHP / MySQL hostuje své aplikace na Linuxu, využívajíce LAMP platformu, nicméně vytvářejí je většinou na Windows. Řada z nich si nedokáže představit jiný postup. V článku si popíšeme výhody a nevýhody Windows hostingu pro PHP aplikace a zkušenosti s migrací aplikací mezi Apache -> IIS a MySQL -> SQL Server 2008.

Zpět na článek

63 komentářů k článku Hostujeme PHP aplikace na Windows:

  1. Přemek "Mr.Gentleman" V.

    Výborný článek

    Musím pochválit tento článek. Je věcný a upozorňuje na všechny možné problémy. Zmiňuje výhody i nevýhody případné migrace. Opravdu povedené.

  2. dc

    par poznamok

    PHP 5.3 by som do produkcneho prostredia este asi zatial nedaval.Osobne som s nim mal dost problemov.
    Tak isto zend debugger a zend optimizer obcas blbnu.Co sa tyka optimizeru tak mam celkom dobre skusenosti s phpexpress od nusphere.
    Trochu ma rozculuje aktualny stav okolo kompilatorov, v ktorom je to ktore PHPcko skompilovane.Je okolo toho docela chaos a bordel.

    1. michal.kocarek

      Re: par poznamok

      Pokud člověk nepoužívá kompilátory opkódu a debuggery na produkčním prostředí, tak mohu PHP 5.3 jednoznačně doporučit. (Tzn. místa typu intranety, drobné servery, ale na vysokozatížené servery stejně dopředu vše testujeme, že? :))

      Podle informací z fór tyto optimalizátory doposud nefungují (k dnešnímu datu, webOptimizer, APC, …)

      Co se týče kompilátorů a binárek pod Windows, nemyslím, že by v tom byl nějaký extra bordel. PHP <= 5.2 se kompilovalo pod VC6. PHP >= 5.3 se kompiluje pod Visual Studiem 6 i 9 (osobně mám zkušenosti s 9 pro 32bit, řádný problém). PHPeři k tomu napsali hezký skript, tutorial k vidění na http://wiki.php.net/…pbystepbuild , další info na http://cz2.php.net/…building.php . Knihovny z PECL je nutné zkompilovat ručně, adresa http://pecl4win.php.net/ mmnt. nefunguje.

      PS: PHP 5.3 momentálně prý nejde na Windows zkompilovat jako ISAPI modul pod Apache2.2.

  3. michal.kocarek

    Argumenty pro Microsoft SQL driver oproti původním funkcím z PHP

    Jenom bych doplnil, že pokud plánujete pracovat s MSSQLí databází z PHP, stojí Vám za to to úsilí rozchodit Microsoft SQL Driver for PHP.

    Pracuji s PHP s MSSQL už řadu let (původní knihovna funkcí mssql_*() z PHP), a chci Vás upozornit na spoustu omezení, které tato původní knihovna má a proč se vyplatí přejít na sqlsrv_*():
    – jakkoliv dlouhá textová buňka byla oříznuta na délku 4kb – delší texty je nutné získávat po kouskách
    – na UTF-8 bylo možno zapomenout (buď single-byte ve znakové stránce serveru, nebo UTF-16LE (ale pak je nutné ručně přepisovat query)
    – problémy s datem – formátuje se dle locales serveru
    – LIMIT … OFFSET … nejde (v MSSQL Serveru 2000 to nejde už vůbec, tam se to řeší pomocí subselectů). V nové knihovně alespoň můžete použít scrollable rowsety a vytřískat jenom část výsledku

    1. .mx.

      Re: Argumenty pro Microsoft SQL driver oproti původním funkcím z PHP

      a mssql_fetch uz rozlisuje 0 od NULL pre stlpce typu bit?

  4. architekt_

    Zajímavé

    Díky za velmi zajímavý článek, spoustu lidí ani nenapadne, že se dá PHP na Windows pohodlně rozjet i na jiném serveru než na Apache.

    Poznámka k tomu rozjetí IIS a Apache zároveň: Obvykle se to řeší tak, že se jeden ze serverů spustí na jiném portu než 80 a druhý mu dělá proxy. Respektive jako ta proxy se používá ještě další webserver, který je „tenký“ a rychlý, dnes asi nejčastěji nginx.

    Co se týče snadné správy serveru, většina lidí, co si myslí že rozumí Windows, pořádně neumí ani spravovat svůj desktop, natož pak na Windows postavený server. Že má něco GUI ještě neznamená, že je to snadné. A i Linuxová (apod.) řešení mají mnoho různých grafických nástrojů pro správu. Například webové nástroje jako Webmin, Plesk, apod., které se dají snadno používat z jakéhokoliv mobilu s internetovým prohlížečem, kdy není třeba mít nadupaný telefon s RDP klientem. Ale znalost správy serveru v konzoli je základ, a to i Windows serverů!

    Jen je škoda, že jsou ty Windowsové VPS tak drahé. Oproti Linuxovým, kde se dá pořídit VPS s 4GB RAM a 40GB HDD za 300Kč měsíčně (např. vpsFree.cz), je to podstatný rozdíl. A to se nebavíme o cenách za Microsoftí licence v případě pořízení vlastního serveru či několika serverů. Na to už dojela spousta nadějných projektů vytvořených v Express edicích .NET nástrojů. Náklady na provoz a použité technologie by si vývojáři měli rozmyslet dříve, než se pustí do vývoje. Každý by chtěl mít úspěšný web s miliony návštěvníků denně, ale pro takové weby nebude PHP na IIS vhodná volba. Ostatně ani PHP ne, ale to už je jiný příběh :-)

    1. Borek Bernard

      Re: Zajímavé

      Během prvních třech let mohou být náklady na licence minimální díky programu BizSpark. Pak už by služba měla být schopná si na licence vydělat, pokud za něco stojí.

  5. Vojto

    Re: Hostujeme PHP aplikace na Windows

    Windows hosting je zbytocne nakladny. S Linuxom je tiez menej prace, ak potrebujeme rozbehat nieco nestandardne (pretoze na Linuxe to uz niekto robil pred nami)

    Pre spolahlivy webserver uplne staci virtualizovany Linux + normalna databaza ako Postgres.

    Potom jedina vyhoda Windowsu je moznost vsetko si naklikat, ale myslim, ze spravcovia servrov nie su natolko neskuseni aby nezvladli prikazovy riadok.

    Co sa tyka pohodlneho file managera, cez SSH sa daju velmi pohodlne spravovat subory.

    1. Murdej

      Re: Hostujeme PHP aplikace na Windows

      Souhlas. Třeba instalace lamp treba na ubuntu se dá udělat jedním příkazem

      sudo aptitude install apache2 php5 php5-mysql mysql-server

      potom pár minut nastavení konfigurace, pokud výchozí nevyhovuje a je hotovo.

  6. ra.ri.ta

    TY O KOZE A KAKY I O VOZE

    A kde to zmiňované „V článku si popíšeme výhody a nevýhody Windows hostingu pro PHP“

  7. Daniel Tlach

    zajímavé

    Snad poprvé čtu od Radka nekonfliktní článek s kterým navíc mohu alespoň místy souhlasit. Pěkně napsané.

    1. František Kučera

      Re: zajímavé

      Nekonfliktní? Asi jsi přehlédl to navážení se do sdílených linuxových hostingů. Ty jsou samozřejmě někdy problematické, ale windowsí hosting je v článku prezentován jako spása a snad i jediné správné řešení. Aniž by zmínil, že sdílených hostingů řeší (také) linuxová VPSka nebo linuxový vlastní server.

      1. Sten

        Re: zajímavé

        Bohužel je to napsané tak, že to zní, jako kdyby na tom virtuálním serveru musely běžet Windows, nicméně explicitně to tam (ve výpisu bodů, proč ne sdílený LAMP) nikde uvedené není

  8. Zorg95

    Dobrý článek, ale nevidím k tomu žádný rozumný důvod kromě "kravaťáckých"

    Kravaťáckými důvody je myšleno „naše firemní infrastruktura běží na windows, takže vámi vyvíjená aplikace musí běžet taky na windows“. Ten dává perfektní smysl a je většinou zbytečné kvůli neochotě se tomu přizpůsobit přijít o zakázku. Kupodivu jediný není uvedený.
    Zbytek srovnává výhody virtuálního Windows serveru se sdíleným hostingem a úplně zapomíná, že Linuxový virtuální server je nejméně stejně tak dostupný. A pokud si někdo troufne na administraci Windows serveru pro PHP, tak je určitě dostatečně odvážný troufnout si na třeba Ubuntu LTS server (rozhodně ne Gentoo). Zkousnout příkazovou řádku považuju za mnohem jednodušší, než procházet všemi popsanými problémy.

  9. toka

    Zajímavý článek, ale...

    Zajímavý článek obsahující plno podnětných a zajímavých informací, na druhou stranu – nikdy bych to nedělal (kdyby mne k tomu nedonutily okolnosti obchodního charakteru – klient má svůj Windows Server a na něm má běžet MySQL + PHP aplikace, která již existuje a běhá spolehlivě na Linuxu). Z článků jsem si odnesl sice mnoho zajímavých poznatků, vím nyní, že PHP a spol. na Windows běží (za jakou cenu). Ale i kdybych byl zapřísáhlý „okenář“, tak bych se rychleji a snáze naučil nastavit vše např. v Debianu, než klikat jak o život a řešit takové potíže – protože jak zde již někdo zmínil, kdo má čas, trpělivost a odvahu s tím bojovat ve Windows, tak už se rovnou může jako nezkušený pustit do konfigurace v Linuxu.

    1. rADo

      Re: Zajímavý článek, ale...

      Hostovani na Windows je o pohodli, rychlosti, stabilite, komfortu a lepsich technologiich (Sql Server, Asp.net). Uvedene „problemy“ jsou jen popisem, jak si nastavit behem hodiny vlastni hosting a ten pak proste funguje bez zasahu.

      Pokud se clovek bude starat o LAMP hosting, bude tech problemu resit vyrazne vice :) I takova trivialita jako dobre si nastavit firewall je snazsi na W2k8 nez v iptables, vzdalena administrace IIS nema chybu, moznosti MSSQL jsou daleko pred MySQL.

      Je to samozrejme subjektivni, ale ja jsem poprve po 6 letech na 100% spokojen a LAMP uz nasazuji jen pokud se jedna o mini projekty.

      1. peter

        Re: Zajímavý článek, ale...

        Hostovani na GNU/Linuxu je o pohodli, rychlosti, stabilite, komfortu a lepsich technologiich (Postgresql, PHP). Uvedene „problemy“ popsane v clanku jsou popisem, jak si nastavit to, co jinde (Linux) nastavovat nemusite.

        Pokud se clovek stara o LAMP hosting, neresi zadne problemy :) I takova trivialita jako dobre si nastavit firewall neni totiz nutne v Linuxu delat (bezpecny OS bez zbytecnych sluzeb, ktere je treba FW blokovat). Vzdalena administrace Linuxu nema chybu, moznosti PostgreSQL jsou daleko pred MSSQL.

        1. toka

          Re: Zajímavý článek, ale...

          Radek má z jednoho pohledu pravdu. Windows Server standardně běží v grafickém režimu, tudíž si vše nakliká – pohodlně. Linux Server běží naopak standardně v režimu bez X Serveru, takže se na vše používá výhradně klávesnice a konfigurační soubory. Každému vyhovuje něco jiného. Ono dále asi Radkovi hraje do karet HTC a Windows Mobile, Windows Server, atd. Snadno se to propojuje – proto dobře vypíchl ten subjektivní názor. Vzdálenou plochou se připojí na Windows Server, a pokud potřebuje, cokoliv si upraví. My ostatní si musíme do HTC shánět SSH klienty ;-)

          1. peter

            Re: Zajímavý článek, ale...

            Drahy Tomas, tiez som vyrastol na win, ale napriek tomu nemozem suhlasit s tym, ze jednoduchsie je to co sa da naklikat. Na linuxe si mozem veci naklikat ked chcem a ked nie, staci mi na to commandline. Ked chcem, cez ssh si spustim zo servera kludne aj GUI X aplikaciu. MS este stale nedobehol X, ktore su tu 40 rokov.
            Okrem toho instalacia aplikacii z repozitory je dalsia vec na ktoru MS doteraz nema.
            Prajem vela stastia v zhanani softu pod win a v jeho rozbehavani. Toto bola kedysi domena Linuxu, ale svet sa obratil naruby. :)

            A este dodam odkaz na to akych ma MS vyvojarov.
            http://www.root.cz/…zory/317794/

            1. toka

              Re: Zajímavý článek, ale...

              Ale Petře, já jsem nikde nenapsal, že je jednodušší to, co se dá naklikat. Já jsem napsal, že je to pohodlnější – což je někdy pro uživatele rozhodující (teď mluvím obecně, ne konkrétně k článku a jeho autorovi).

              1. Murdej

                Re: Zajímavý článek, ale...

                Jak kdy, než se viste dostaneš ke konfiguraci síťe tak musíš prolézt 10 oken a klikat na tlačítka typu „upřesnit“ , konfigurovat, … horší než prolézat man

            2. František Kučera

              Re: Zajímavý článek, ale...

              „tiez som vyrastol na win, ale napriek tomu nemozem suhlasit s tym, ze jednoduchsie je to co sa da naklikat“
              Díky, že jsi to zmínil. Tohle je totiž rozšířený fáma, spousta lidí si totiž myslí, že když ovládají windowsovský desktop, že jsou automaticky windowsovskými adminy a že jim to půjde jaksi „samo“. Ovšem Windows jsou značně nedokonalý a chybový systém a dobrý správce musí znát spoustu triků a mít načteno, aby z toho udělal použitelný server. Jedna věc je, vědět, jak se kliká na tlačítka ve Wordu a úplně jiná, jak se spravuje IIS, MS SQL Server, Sharepoint, BizTalk, Exchange atd. Co produkt, to jiné chyby, jiné triky a nutnost dalších specifických znalostí, vůbec to není o tom, zda člověk kliká na ikony nebo buší příkazy do konsole, je to o znalostech specifického softwaru, a správa windowsovského serveru je tak vysoce odborná činnost, stejně jako u unixových systémů, jen prostě jiná. Je to prostě úplně jiné kafe než „administrace“ rodinného pécéčka, které slouží ke stahování fotek z digitálu a prohlížení webu.

              Po letech se tak stírá rozdíl v platech mezi unixovými a windowsovskými adminy, dřív to bylo tak, že za MS technologie bylo potřeba zaplatit hodně peněz na licencích, ale admina dělal prakticky kdokoli, tedy levně, zatímco za linuxové licence nebylo potřeba utrácet, ale bylo potřeba zaplatit drahého unixového admina. Jenže dneska si nechá dobře zaplatit i windowácký admin, ovšem ty licence jsou pořád drahé, zatímco unixový správce chce pořád stejně hodně peněz a ty licence na linux jsou pořád stejně levné nebo zadarmo.

        2. Polaris

          Re: Zajímavý článek, ale...

          „moznosti PostgreSQL jsou daleko pred MSSQL“

          Tedy, už dlouho jsem se tak nenasmál. Děkuji :-))))

          1. okbob

            Re: Zajímavý článek, ale...

            Pokud by se to týkalo db jádra a db funkcí, tak je PostgreSQL o kousek před MSSQL, i když v 2008 se Microsoft dotahuje. Pokud by se brala v potaz GUI administrace nebo OLAP, tak tam má navrch Microsoft a o hodně. U MSSQL hodně záleží, z jakého úhlu se hodnotí – pro sys admina je to hodně dobrá databáze, pro byznys analytika docela slušný nástroj s poměrem cena/výkon, a pro programátora je to o něco lepší MySQL – pokud tedy programátor rozumí databázím.

      2. František Kučera

        Firewall

        S tím firewallem se mi to nezdá. V Linuxu používám léty ověřený skript, který nastaví pravidla iptables. Občas do něj připíši řádek, když potřebuji povolit novou službu nebo změnit nějaké parametry. Ale vtip je v tom, že můžu používat pořád ten stejný skript jako před pěti lety (nebo více) nebo v jiné distribuci, nemusím řešit, jestli v nové verzi Windows je ten dialog k nastavování někde jinde, nebo jestli naopak ve starší verzi úplně chybí.

  10. lopata

    Důvody

    Proti tomu používat PHP na Win stojí zejména fakt, že PHP je komunitní projekt vyvíjený na Linux/Unixu. Core PHP vývojářů, kteří pracují na win je minimálně. A pokud chcete používat PECL extenze, jste téměř nahraní. Kompilovat si extenze na Win je mnohem obtížnější něž na Linuxu.

    Jediný opravdový důvod k tomu použít PHP na Win je, pokud vaše PHP aplikace je na win prostředí nějakým způsobem závislá (většinou intranety). Pak by ovšem bylo na místě zvážit, zda to nepřepsat do .NETu.

    Spíš by mě zajímalo, proč to MS dělá, možná v tom budou nějaké peníze od Zendu, smlouva, možná kvůli cloudu. Zájem MS je, aby jste to přepsali do .NETu, na rozvoji PHP žádný zájem nemá, naopak. Další věcí je, že nativním aplikacím pomalu a jistě u MS zvoní hrana, budoucnost Windows je .NET, nikoli WinAPI.

    1. František Kučera

      Re: Důvody

      „Zájem MS je, aby jste to přepsali do .NETu“
      Nejdřív potřebují dostat lidi na Windows s jejich současnými PHP aplikacemi – a .NET se jim budou snažit nacpat až v druhé fázi.

      1. Borek Bernard

        Re: Důvody

        Zamyslete se nad tím, co jste napsal (to není urážka, to je upřímná výzva k zamyšlení). Vodítka: proč má MS zájem, abyste své PHP aplikace hostoval na Windows? Je to proto, aby vás postupem času přetáhl k ASP.NET? Jaký business model má ASP.NET?

        1. František Kučera

          Re: Důvody

          Je to vzájemně provázané – Když budu používat Windows, pravděpodobně vyzkouším i psát v .NETu. Když začnu psát v .NETu, budu muset používat Windows a už prakticky není cesta zpátky (ano, je tu Mono, ale…). Když budu psát v .NETu, pravděpodobně k tomu použiji VS, pak asi vyzkouším MS SQL server, místo ŠRBD (MySQL, PostgreSQL,…), který jsem používal doteď, protože s MS SQL se ve VS (a dalších MS nástrojích) bude jistě pracovat pohodlněji než s jinou databází. … A najednou člověk zjistí, že je v zajetí MS technologií a už těžko může přejít jinam (a to tahle diskuse začala pod článkem, který kritizuje hloupost vývojářů PHP aplikací, kteří nemyslí na multiplatformnost a mají svoje aplikace odladěné přednostně pro Linux/Unix).

          Přispívá k tomu ještě fakt, že některé softwary od MS jsou zadarmo (alespoň pro určité použití a s omezeními). Tím nechci vyčítat MS, že dává něco zadarmo :-) Ale je potřeba trochu krotit počáteční nadšení, když zjistíš, co všechno můžeš dostat, aniž bys za to platil. Některé malé projekty se s takovým vybavením dají i rozjet. Ale je potřeba myslet na budoucnost, na další růst. Totéž dělá třeba Oracle, od něj taky můžeš mít tu minimální verzi DBMS zadarmo. Jenže pak narazíš na její limity a najednou musíš platit kopy peněz. Chce to myslet dopředu a nedělat krátkozraká rozhodnutí.

          A poslední věc: člověk stráví spoustu času učením se a získáváním praxe s určitou technologií, softwarem. A já radši investuji svůj čas do poznávání technologií, které mohu používat zdarma pro libovolně velké projekty – ne jen pro pár prvních měsíců nějakého „startupu“. Takže (nejen) z těchto důvodů bych ostatním doporučil, když už si pořizují vlastní servery (ať fyzické nebo virtuální) a opouštějí PHP, ať se vydají raději cestou Javy (J2EE) než cestou .NETu.

          BTW: jak hodnotíš dostupnost návodů pro začátečníky v J2EE a v .NETu (pro web)? S čím je z tohoto pohledu snazší začít?

            1. František Kučera

              Re: Důvody

              Tak říkáš, že mám něco o Javě sepsat? :-)

              Svoje začátky s J2EE už pamatuji jen matně, je fakt, že dneska čerpám většinou z článků zaměřených na jedno konkrétní úzké téma, kdežto nějaký ucelený zdroj v češtině pro začátečníky chybí. Prostě takové „chci začít dělat weby v Javě, tak mi poraďte jak na to“. I když nějaký seriál tady na Rootu byl. Tak já si to přidám na svůj seznam úkolů a snad jednou… :-)

          1. Honza

            Re: Důvody

            Pro weby dnes nemá smysl se zabývat J2EE či .NET Zvláště ne pro člověka, který chce začít. Tyhle nástroje tu jsou pro lidi, kteří v nich programují jiné typy aplikací a teoreticky se snadno přizpůsobí (nebo je k tomu donutí hloupá firemní politika či neochota učit se něco nového). Ale jsou to jen nástroje pro jiné účely „znásilněné“ tak, aby v nich šly dělat i weby. Oproti nástrojům a frameworkům určeným přímo pro web ale hrají jen druhou až třetí ligu. Kdo to s weby myslí vážně, měl by začít s Ruby on Rails, Django, apod.

            1. František Kučera

              Re: Důvody

              Tak to jsem vážně netušil :-D

              Banky a další velké firmy hrají druhou až třetí ligu? Ty desítky nebo stovky webových J2EE frameworků, které vznikly právě kvůli webu a AJAXu, jsou „znásilněním“ a pro web se nehodí? Java jako jazyk tu sice byl dávno před webem, jak ho známe dnes, ale ty frameworky (včetně těch přímo od Sunu) vznikaly právě kvůli webu.

              Dot NET z tohoto (webového) pohledu hodnotit moc nechci – mám zkušenost jen s pár mizernými a padajícími weby (ale i s nepadajícími) a k tvorbě webu v .NETu jsem jen přičuchnul (nijak mne to nezaujalo, Java je lepší).

              Ale proti těm progresivním technologiím nic nemám. Jde prostě jen o to, co chceš, někdy se hodí ověřená a odladěná platforma pro kritické aplikace a jindy si chce člověk trochu zaexperimentovat a odvázat se :-)

              P.S. co se týče začátečníků a výuky, má Java jednu velkou výhodu – jakž takž programátora vede k tomu, aby dal aplikaci nějakou architekturu, rozdělení na vrstvy, myslel na znovupoužitelnost – což jsou věci, ke kterým se člověk musí v mnoha jiných jazycích pracně nutit (ty ho vedou k opaku). No, zkusím sepsat nějaký ten návod :-) ale zítra to nebude…

              1. Michal Augustýn

                Re: Důvody

                Taky jsem byl překvapenej :) Věta Ale jsou to jen nástroje pro jiné účely „znásilněné“ tak, aby v nich šly dělat i weby. mě fakt dostala – nemůžu mluvit za J2EE, ale ASP.NET bylo vydáno ± ve stejné době jako první verze .NET Frameworku (a C# a VB.NET).

                No ale je to blbost už z principu – Java i C# jsou univerzální jazyky, tak proč je nepoužít pro weby…

                1. František Kučera

                  Re: Důvody

                  Jednak jsou dost univerzální a jednak v té Javě píšeš aplikační logiku (tedy programování) a na tvorbu stránek (tedy dokumentů, prezentační vrstvy) používáš JSP nebo nějakou jeho nadstavbu – což je velmi vhodný přístup, programuješ v programovacím jazyce a dokumenty (HTML) vytváříš jako dokumenty, šablony (JSPX je XML, které má k (X)HTML velmi blízko).

              2. architekt_

                Re: Důvody

                Nic proti Javě, ale na argumenty o použití v bankách apod. si dejte pozor – o ničem to nevypovídá a nikdo vás nebude brát vážně. Stejnými argumenty lze prosazovat masivní nasazení třeba COBOLu, který je v tom sektoru stále rozšířenější než Java :-)

  11. .

    PHP na Windows

    Přijde mi, že sice to jde, ale je to dost pitomé řešení. Asi jako snaha běhat na Linuxu .NET aplikace přes Mono. Jakž-takž to funguje, ale primárně to bylo vyvíjeno na jinou platformu a je to znát. Neodladěné, s malou uživatelskou základnou, těžko řešitelné případné problémy, neustálý boj s tím, že vývojáři předpokládají specifika původní cílové platformy apod.

    Článek mě jedině utvrdil v tom, že to tak doopravdy je. U autora byla navíc vidět obrovská snaha prosazovat Wokna nad Linuxem, která – ať už jím samým či následnou korekcí ze strany zadavatele – vyzněla v trapné srovnávaní jablek s hruškami. Konkrétně například:

    K přechodu na Windows hosting vás může přimět
    výrazná nespokojenost (podpořená zkušeností) s low-cost LAMP hostingy s „neomezeným“ počtem domén, které se sice tváří jako ve všem nelimitované, ale v důsledku vás stojí spoustu nervů a zbytečného úsilí

    Opravdu netuším, jak může autor srovnávat VPS s Windows a low-cost LAMP hostingy. Férové srovnání by bylo VPS s Windows a VPS s Linuxem (pak by ale musel uvést, že Windows VPS bývají oproti Linuxovým VPS dražší a to i třeba o desítky procent). A samozřejmě srovnání low-cost Windows hostingů s low-cost LAPMy.

    1. Michal Augustýn

      Re: PHP na Windows

      Cože? Že aplikace přes Mono jakž-takž fungujou? To jste asi zaspal dobu – Mono je v ledasčem dokonce před Microsoftí implementací .NETu a používá se např. i v bankovním sektoru.

      1. .

        Re: PHP na Windows

        V bankovním sektoru se používají i Windows 3.11 a znamená to snad něco?

        Ano, aplikace pro Mono fungují jakž takž, minimálně protože občas obsahují platform-specific záležitosti nebo věci v Monu dosud neimplementované. V době, kdy Microsoft má za sebou dávno release .NET 3.5 a venku je beta .NET 4.0, Mono se nachází někde kousek za .NET 2.0.

        Takže mám dojem, že dobu zaspal někdo jiný (vývojáři Mona) a někdo další (Vy) se snaží tvářit, že se vlastně vůbec nic neděje.

    2. František Kučera

      Re: PHP na Windows

      „A samozřejmě srovnání low-cost Windows hostingů s low-cost LAPMy.“
      Ovšem taky VPS, protože Windowsová varianta sdílených hostingů prakticky neexistuje. To je velká nevýhoda tohoto OS, zatímco v Linuxu/Unixu můžou v pohodě běžet aplikace různých uživatelů (např. ty weby) vedle sebe, ve Windows je to problematické. V Linuxu je možné provozovat „lehkou“ virtualizaci, která má minimální režii, každý má svoje aplikace, v libovolných verzích, klidně i různé distribuce, ale jádro běží jen jedno (např. OpenVZ v Linuxu nebo Zóny v Solarisu). Toto ve Windows nelze a člověk je odkázaný na plnou virtualizaci, kdy na jednom fyzickém stroji běží několik virtuálních počítačů – sice to má některé výhody, ale ty jsou často podružné a hodila by se lehčí virtualizace, díky které lze na stejném HW provozovat mnohem více VPSek.

  12. Borek Bernard

    IIS jako reverzní proxy pro Apache

    Pokud chce někdo provozovat Apache i IIS na jednom serveru a nechce uživatele nutit specifikovat odlišný port (např. 80 pro IIS a 8080 pro Apache), může využít modul Application Request Routing (http://www.iis.net/…questRouting), který umožní IIS nastavit jako reverzní proxy pro Apache. (Nebo to jde udělat opačně – Apache může být reverzní proxy pro IIS s pomocí mod_proxy.)

    Hodí se pro zprovoznění aplikací, které se bez Apache obejdou jen těžko, např. Trac.

      1. Borek Bernard

        Re: IIS jako reverzní proxy pro Apache

        Nemyslel jsem to tak, že by Trac jinde než na Apachi neběžel (to samozřejmě není pravda a taky jsem to nikde nenapsal), jen drtivá většina návodů běh na Apachi předpokládá. Pro člověka bez hlubších znalostí Tracu, což byl přesně můj případ, bylo prostě jednodušší využít IIS jako reverzní proxy. Tip byl pro lidi, co jsou na tom podobně.

  13. nx99

    Microsoft na sevrer nepatří

    Je to pořád dokola. A pořád dokola stejná Microsoft propaganda. Nedám si na server produkt, u kterého není schopen autor ani záplatovat všechny objevené chyby:

    http://secunia.com/…ories/graph/?…
    http://secunia.com/…ories/graph/?…

    Tu příšernou díru v SMB/SMB2 mají 100 let a je tam pořád, i když tvrdí, že to záplatovali:

    http://www.abclinuxu.cz/…-na-cervenou

    Takže hezký, profesionálně odvedený článek, který je ovšem spíše propagandou. Widle na serveru má jen ignorant.

  14. Baghira

    Axiom

    Axiom (z řec. axióma, to co se uznává) je tvrzení, které se předem pokládá za platné a tudíž nedokazuje. ;)

  15. Rook

    Re: Hostujeme PHP aplikace na Windows

    Jakým programem se z Windows mobile telefonů dá přihlásit na vzdálenou plochu? Pokud vím ve standardní instalaci na to program není, před časem jsem hledal nějaký oficiálně vyvíjený microsoftem ale našel jsem jen nějakou dev verzi.

    1. Jura55

      Re: Hostujeme PHP aplikace na Windows

      ja mam ve svych windows mobile na HTC Touch HD normalne remote desktop aplikaci primo od M$. Funguje paradne, zejmena na 3G pripojeni (full grafika), na GPRS se musim smirit s nizsi kvalitou, ale porad to jaksi jde… Samozrejme Touch Pro 2 s klavesnici je s pouzitelnosti jeste o kus dal…

  16. AW

    Achjo

    Opět další článek plný polopravd a zkreslených faktů… Co jiného také čekat od pana Hulána, že? :-(
    První lež, jako věž, hned na začátku článku:
    >snadná správa serveru i aplikací z Windows desktopu i mobilního telefonu
    Ano, už vidím, jak spravuji (rozuměj klikám a složitě posunuji kurzor joystickem) Windows server ze své Nokie 3310, s monochromatickým 48×48 displayem, přes gprs…
    Pro SSH protokol to není problém, s RDP je to noční můra i na relativně novém mobilu bez OS (vzhledem k nedostupnosti jakékoliv použitelné java aplikace pro připojení k RDP)…

  17. František Kučera

    Kancelář pro uvádění od[b|p]orných článků na pravou míru

    Ad „Výhody Windows 2008 Server hostingu“:
    bohužel se tu směšují výhody/nevýhody související s přechodem od sdíleného hostingu na vlastní (virtuální) server a výhody/nevýhody přechodu z jedné platformy na jinou.

    „potřeba využívat i jiné databáze než MySQL, například Microsoft SQL Server 2008, které mají lepší možnosti programování,“
    Slova „i jiné“ by bylo vhodné vynechal. Stěhuje-li se člověk od MySQL za něčím „lepším“, např. Oraclem, DB/2, PostgreSQL… může zůstat na Linuxu, Solarisu nebo jiném unixovém OS. Důvod ke stěhování na Windows je tedy jen ten MS SQL Server → takže žádné „i jiné“.

    „potřeba provozovat současně PHP i ASP.NET aplikace na jednom serveru“
    Jsou tu sice i alternativy, jak provozovat .NET v Linuxu, ale netroufám si tvrdit, že jsou 100% plnohodnotné. Takže tenhle argument beru: kdo potřebuje ASP.NET, tomu není pomoci a holt ty Windows asi bude muset mít.

    „pokud chcete hostovat větší množství domén, a vyplatí se vám tedy fyzický či virtualizovaný vlastní server, ale je pro vás (jako pro většinu lidí s Windows) snazší administrovat si Windows 2008 Server než třeba Gentoo Linux,“
    Nevím, proč je zde Linux zastoupen právě Gentoo. Proč ne třeba Debian/Ubuntu, které se spravují (alespoň pro začátečníka) snadněji. Existují webové administrační nástroje, jak pro apache, tak mysql, takže ta příkazová řádka nebude nutná.

    „výrazná nespokojenost (podpořená zkušeností) s low-cost LAMP hostingy s „neomezeným“ počtem domén, které se sice tváří jako ve všem nelimitované, ale v důsledku vás stojí spoustu nervů a zbytečného úsilí,“
    To ano, mizerný hosting je k zlosti, zvlášť když na tom závisí váš byznys. Ale to je zase otázka sdílený vs. vlastní, případně kvalitní vs. mizerný, nikoli Linux vs. Windows.

    „potřeba ovlivnit nastavení serveru, které sdílená LAMP platforma nenabídne,“
    Opět ta samá písnička. „Sdílená LAMP“ platforma. Ona sdílená být nemusí, může být vyhrazená. Opět to tedy není problém Linux vs. Windows.

    „snadná správa serveru i aplikací z Windows desktopu i mobilního telefonu,“
    Pod snadností si každý představí něco jiného, takže je to dost subjektivní. Nicméně já bych dal přednost raději webovému administračnímu rozhraní (u LAMP) nebo SSHčku, se kterým se dá pracovat i v tom telefonu, než na malém displeji mobilu hledat nějaké ikonky na vzdálené RDP ploše. Ovšem je to věc vkusu. (Např. takový YAST (klikací GUI pro správu SUSE Linuxu) se dá spustit taky na dálku přes SSH).

    „používání aplikací, které znáte z desktopu (správce souborů, editor, atd.) i pro práci na serveru,“
    já jsem např. z desktopu zvyklý na jEdit a ten si taky můžu pustit na dálku přes SSH. Ovšem spíš bych si připojil serverový souborový systém pomocí SSHFS a editor si spustil lokálně. Nicméně tento postup příliš nedoporučuji, může totiž vést k nevhodným návykům. Místo seriózního stylu vývoje (vývoj a verzování → nasazení na testovací stroj → nasazení na produkční stroj) se pak někteří uživatelé uchylují k úpravám a programování přímo na produkčním serveru a doslova „bastlení“

    „stabilní systém a „nezbořené“ MySQL tabulky, jak je známe snad ze všech sdílených LAMP webhostingů.“
    A znovu: chyba hloupých adminů, chyba sdíleného hostingu (oproti vlastnímu serveru), případně chyba MySQL. Nejedná se o výhodu Windows hostingu. Na Linuxu lze se provozují i jiné databáze (PostgreSQL, Oracle…), existují schopní admini, existují nesdílené hostingy.

    „než platit třeba 20×150 Kč na běžném českém „LAMP webhostingu“, účtujícím každou doménu zvlášť.“
    To by bylo jistě hloupé. Nicméně stále to není důvod k přechodu na Windows – Linuxovou VPSku nebo vlastní linuxový server si snad nemůžu pořídit?

    Vyplývá mi z toho, že windowsovský hosting buď výhody nemá, nebo je autor nezná, a tak si musel vymyslet tyto.

    Ad „Nevýhody Windows 2008 Server hostingu“
    Zde se dozvídáme, že některé PHP aplikace jsou zprasené. Ano, jsou, to mohu potvrdit, ale že by to byla nevýhoda Windows hostingu jako takového?
    Skutečné nevýhody budou někde jinde…

    Navíc je potřeba doplnit, že když už přecházíme z webhostingu na VPS či vlastní server (což autor směšuje s přechodem na Windows), máme daleko širší paletu, nemusíme se držet jen PHP a MySQL, můžeme si život zpříjemnit např. tím, že budeme psát v Javě a jako DB používat PostgreSQL (tato DB je i na mnoha hostinzích).

    „Neexistuje LIMIT start,offset … (podobně to nenabízí ani Oracle či Sybase)“
    Bohužel ano. Ovšem: co definuje SQL standard? Chvilka napětí … ano, je to právě zápis „LIMIT start, offset“.

    „Pokud v kódu potřebujete vědět předem počet řádků, doporučuji jej přepsat“
    Ano, takový kód by se skutečně přepsat měl – v ideálním případě aplikace funguje jako roura, čte záznamy z DB a vychází z ní výstup.
    Přístup, kdy nejdřív natáhneme všechny záznamy z DB, pak něco uděláme a pak všechno najednou vyplivneme na výstup, není ideální,
    i když to jinak nejde, neměli bychom ho používat, pokud to není nutné.

    „$db = sqlsrv_connect“
    Zajímalo by mne, proč autor používá tuto funkci pro přístup k MS SQL, když tu máme PDO, které tento DBMS také podporuje.
    Když už si tedy hrajeme na nějakou přenositelnost mezi OS a mezi DBMS, měli bychom používat PDO nebo nějakou jinou vrstvu, která nás od konkrétní implementace databáze odstíní – jinak budeme ten kód přepisovat jako blbci pořád dokola.

    „Přesun části logiky z PHP do transakčního zpracování na úrovni databáze (Transact-SQL) zase přinesl stoprocentní integritu dat a vyšší výkon aplikací (ano, jsem přesvědčen, že kritické zpracování dat se má odehrávat co nejblíže místu jejich uložení, tedy v databázi, a vždy transakčně).“
    S tím se dá souhlasit. Bohužel to ale opět není nic specifického pro Windows a MS SQL. Přenést část logiky do databáze (tedy blíže datům) je možné v Oraclu, PostgreSQL, DB/2 … a dokonce i v té MySQL.

    Článku by prospělo méně PR a (pseudo)argumentů pro „jedinou správnou platformu“ a více praktických tipů, jak se s touhle exotickou platformou má člověk vyrovnat, když už ji musí používat.
    (Ano, exotickou, protože pokud se bavíme o PHP webech, jsou Windows skutečně exotem).

    P.S. Vím sice, že polemika s autorem nikam nepovede, ale stejně mi to nedalo :-)

    1. František Kučera

      Re: Kancelář pro uvádění od[b|p]orných článků na pravou míru

      lépe řečeno: LIMIT m OFFSET n

    2. AsciiWolf

      Re: Kancelář pro uvádění od[b|p]orných článků na pravou míru

      +1
      ps. Netuším, proč má tvůj komentář negativní hodnocení. Asi zapracovali trollové z Hulan-blogu… :-)

  18. happymaster23

    Argumenty pro přechod jsou nesmyslné

    Zdravím,

    hned na úvod musím napsat, že s maximální spokojeností používám Windows (Windows XP i Windows 7) a na vydání Windows 7 se těším už půl roku. Klidně si dovedu představit (ale pouze představit, absolutně nic mě k tomu netlačí), že bych Windows mohl začít používat na serverech, ale tyhle argumenty „pro přechod“ mi připadají strašně nesmyslné a hloupé.

    Vezměme to postupně:
    potřeba využívat i jiné databáze než MySQL, například Microsoft SQL Server 2008, které mají lepší možnosti programování,
    Toto je snad jediný oprávněný argument.

    potřeba provozovat současně PHP i ASP.NET aplikace na jednom serveru,
    Hloupý argument, existuje Mono.

    pokud chcete hostovat větší množství domén, a vyplatí se vám tedy fyzický či virtualizovaný vlastní server, ale je pro vás (jako pro většinu lidí programujících na Windows) snazší administrovat si Windows 2008 Server než třeba Gentoo Linux,
    No to se každopádně hodí, ale stejně jako může být virtualizovaný Windows, tak i Linux. Snadnost je otázkou zvyku, uvádění Gentoo jako zástupce Linuxu je silně zavádějící, ale chápu, porovnání třeba s takovým RHELem by už nemělo ten šmrnc ;). Nicméně dobře, se skřípění zubů a správnou interpretací se tenhle argument „dá vzít“.

    výrazná nespokojenost (podpořená zkušeností) s low-cost LAMP hostingy s „neomezeným“ počtem domén, které se sice tváří jako ve všem nelimitované, ale v důsledku vás stojí spoustu nervů a zbytečného úsilí,
    Nehorázný nesmysl, tohle s platformou hostingu nesouvisí. Mizerný může být jak na Windows tak na Linuxu. Stejně jako můžu přejít od neskutečně nekvalitního hostingu na Linuxu pod virtualizovaný Linux, to můžu udělat na Windows…

    potřeba ovlivnit nastavení serveru, které sdílená LAMP platforma nenabídne,
    V podstatě už třetí reinkarnace toho stejného nesmyslu. Ano, sdílená LAMP platforma nenabídne to co virtualizovný operační systém (a je úplně jendo, jestli je to Windows nebo Linux). A stejně tak to nenabídne ani sdílená Windows platforma.

    snadná správa serveru i aplikací z Windows desktopu i mobilního telefonu,
    Beru spíš jako vtip :). SSH klienti existují pro každou platformu (i mobilní). Pro Windows třeba hodně dobrá kombinace PuTTY a WinSCP. Připadá mi mnohem lepší tu mít více oken „přímo napojených“ na server, než jedno a v něm teprve klikat na okna další. Použití X taky není problém, nicméně nehodlám reportovat, protože sám nepoužívám a IMHO je to krajně zbytečné.

    používání aplikací, které znáte z desktopu (správce souborů, editor, atd.), i pro práci na serveru,
    Je to článek pro „programátory“ a nebo pro nebožáka, co pět let chodil na školení, aby dokázal zapnout „modré éčko“ a zkopírovat soubor na disketu?

    Třeba co se týče toho editoru – představte si, používám pořád ten stejný, můj oblíbený, editor a je úplně jedno, jestli s ním edituji soubor co mám uložený v počítači a nebo vzdáleně přes WinSCP. A je to ještě více user friendly, protože mi ten editor běží přímo v mém prostředí a ne v dalším okně na RD.

    Pokud by to s námi bylo fakt moc špatné, můžeme rozjet VPN a na ní Sambu a bude to tak user friendly, až nás z toho bude bolet hlava.

    stabilní systém a „nezbořené“ MySQL tabulky, jak je známe snad ze všech sdílených LAMP webhostingů.
    Ano, právě jste „udeřil hřebíček na hlavičku“ své úsměvné argumentace. Ono totiž dneska jsou stabilita a operační systém dva od sebe naprosto oddělené pojmy a vůbec spolu nesouvisí.

    1. František Kučera

      sdílený vs. vps

      njn, už jsem to tu psal, ta „argumentace“ v principu stojí na rozdílu mezi sdíleným a VPS hostingem (nikoli na rozdílu mezi OS) a jak zaseknutá deska se točí pořád dokola. Ale snad je tahle mystifikace natolik průhledná, že na jí nikdo neuvěří a jediným důsledkem bude vyvolání flamu. Autor jednoduše pokračuje v tradici svých provokativních blogů, víc to asi nemá cenu komentovat.

  19. critter

    Oddělení uživatelů

    Vcelku užitečný článek, nicméně v něm postrádám jakoukoliv zmínku o oddělení jednotlivých hostovaných webů mezi sebou. Jak zajistit, aby „web A“ nemohl koukat do „webu B“ (mám na mysli z pohledu filesystému), pokud oba běží na jednom serveru?

    Více o této problematice zde.

    1. rADo

      Re: s PHP+IIS to zas az tak slavne reseni nebude....

      Ten memory leak problém existoval v SQLSRV driveru 1.0, v 1.1 je vyřešen.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3086