Autor Zpráva
JamesBlond
Profil
Ahoj,

hledám řešení pro projekt vcelku rozsáhlého e-shopu pro jednoho významného partnera. Pokud to bude třeba, tak jsem ochoten přistoupit i na pronájem virtuálního / dedikovaného serveru. Nicméně hlavní věc, kterou potřebuji je podpora frameworku symfony (http://www.symfony-project.org). Další věc, je Microsoft SQL Server s podporou UTF-8 a komunikaci mezi MSSQL <-> PHP. S tím jsou podle všeho obrovské problémy. Našel jsem na internetu pár ovladačů (FreeTDS, ODBTP), které by teoreticky mohly tento problém vyřešit, nicméně nemám s němi absolutně žádné zkušenosti. Nebo znáte nějaké jiné řešení ? Popřípadě nějaký hosting, který tyto služby dokáže nabídnout. Z vlastních zkušeností, instalace symfony nečiní většině hostingů problém. Děkuji
bohyn
Profil
JamesBlond
Pro "vcelku rozsahly e-shop" by virtualni server mel byt minimem a tam uz neni problem si nakonfigurovat podle potreb.
Vyber MSSQL + PHP se mi zda ponekud nestastny. PHP je orientovano spis na apache, MySQL a Linux.
armin
Hosting armin.sk
Profil
JamesBlond: Microsofti SQL je naprosto bezproblemova databaze vzhledem k PHP. Delal jsem par let zpatky svoji diplomovou praci (za A) zalozenou na php skriptech (php 4.x) a vyuzival jsem Microsoft SQL (2000) - jednalo se o system pro vyucujici pro generovani testu a pro studenty s naslednim overenim vysledku testu bud pres web nebo zaslanim SMSky.
Nicmene ten kdo tvrdi ze php & mssql je problem, tak je to naprosta hloupost. Neni to zadny problem.
Pokud by jste mel zajem o vyhrazeny managed server, podivejte se sem. Jen podotknu, ze kalkulacka na odkazovanem webu se vztahuje na unix platformu, kde je vse zdarma. Pro tento pripad by se musela zakoupit licence jak na OS, tak na SQL => vyssi mesicni castka za pronajem a spravu.
JamesBlond
Profil
armin:

Možná jste mě špatně pochopil, možná jsem se nejasně vyjádřil. Není problém PHP + MSSQL, problém je PHP + MSSQL s podporou UTF-8. MSSQL konkrétně mám na mysli Microsoft SQL Server 2005 nepodporuje interně UTF-8 ale UCS-2 + spoustu dalších svých CPxxxx kódování. Nativní ovladače v PHP bohužel nedokáží komunikovat s MSSQL v UTF-8. Resp. do databáze přes PHP uložíte cokoliv a přes PHP taky z tama ve stejném formátu načtete, problém ovšem nastává, pokud se připojíte na tu databázi přes nějakého managera, potom již nevidíte to co jste tam ukládal ale "balast". Proto jsem psal v mém prvním příspěvku, že jsem našel na netu nějaká ovladače (FreeTDS, ODBTP) které by to měly eliminovat, tzn. to co uložím do databáze, to taky z tama načtu jak přes PHP tak přes Managera, bohužel s němi nemám absolutně žádnou zkušenost. Navíc jsem limitován Propelem v symfony (ORM pro symfony), který nepodporuje všechny ovladače databází. Nebo jste problém MSSQL + UTF-8 nějak vyřešil ?
armin
Hosting armin.sk
Profil
JamesBlond: V te dobe jsem pouzival bud iso-8859-2 (latin2) nebo windows-1250 (cp1250). Vas problem bych asi resil tak, ze databaze bude v "nejakem kodovani", kdy i pres vzdalenou spravu bude vse v poradku, s tim ze tok dat mezi php interpretem a databazi bude prevaden na strane php z/do pozadovaneho kodovani vyuzitim funkce iconv nebo mb_string. Nechce se mi ale verit, ze by verze 2005 nepodporovala utf8. Nedival jste se do manualu, zda to jen neni nejak interne pojmenovano? To uz je nejaky ten patek co jsem s tim delal, ale vim ze mssql bylo (je?) hodne spatne zdokumentovane - treba mi nesel nejaky prikaz a v dokumentaci jsem se docetl ze errorcode 123123 muze byt opravena uzivatelem. Tot vse. Proste po teto strance je to vzhledem na komercni produkt velice chabe z meho pohledu.
JamesBlond
Profil
Iconv nebo mb_string sice je řešení, ale nezdá se mi moc košér a hlavně mám strach o zanesení spousty chyb do kódu. Vzhledem k tomu, že se jedná o rozsáhlý systém a bude využita hodně databáze a selektů na ni. A přepsat kvůli tomu Propel se mi zdá krajně nevhodné a nerentabilní. A zapisovat to ručně do kódu by bylo ještě více "brutálnější" řešení. Kódování cp1250 nebo iso bohužel nemohu využít, protože se musí počítat do budoucna i s "exotickými" překlady. Našel jsem na internetu tyto drivery http://msdn.microsoft.com/en-us/library/cc626307(SQL.90).aspx bohužel propel je zatím neumí. Zkusím ještě něco pozjišťovat ohledně kombinace propel + pdo.
armin
Hosting armin.sk
Profil
JamesBlond: Jen tak pro zajimavost - proc jste uprednostnil mssql pred bezproblemovym a skvele zdokumentovanym mysql? Protoze ja osobne vnimam MSSQL jako naprosto nevhodne pro web aplikace. Ve srovnani s mysql tam je hodne zadrhelu a nesrovnalosti (kodovani, import/export dat, sprava db,...), o cemz se defakto i zde bavime.
JamesBlond
Profil
Bohužel e-shop musí spolupracovat s informačním systémem firmy. A informační systém využivá striktně MSSQL, takže zde není jiná cesta. Microsoft SQL Server je dle mého názoru výborná databáze, co se týká importů / exportů a správy, tak s tím problém nemám (mluvím tady o verzi 2005 a výše), ať už již díky Microsoft Management Studiu nebo třeba SQL Managera for SQL Server apod. Možnosti T-SQL jsou obrovské, nehledě možnosti vytvářet si vlastní "jobs", datové pumpy apod. Toto například u MySQL neznám (opravte mě jestli se mýlím), vím že se to dá řešit cronem, ale toto nepovažuji za nejlepší řešení :-). Ovšem obrovské mínus je právě vázanost na platformu Microsoft a jejich kódování.
JamesBlond
Profil
Nicméně vidím, že jsme se trochu odchýlili od tématu. Takže zpátky k němu. Můžete mi doporučit nějaký hosting kde běží PHP + MSSQL ?
armin
Hosting armin.sk
Profil
JamesBlond: No prave, ja kdyz delal s tou verzi 2000, tak tam mi to cele prislo ze je to idealni volba pro intranetove aplikace a jine sw produkty, nikoliv pro webove aplikace. Ten firemni IS nepodporuje import / export dat? Mozna by se situace dala vyresit prechodem na mysql (shop) a exportem potrebnych veci pro IS, a ten at uz si komunikuje treba i s tou mssql...

Jinak hostingy asi zde:
http://www.hostingy.cz/webhosting-asp-net-mssql.html
JamesBlond
Profil
armin:

Kdyby to šlo, tak už to dávno je :-) Nicméně dneska vyšla symfony 1.2 s propelem 1.3, který už není postaven na Creole ale na PDO databázových ovladačí, takže vyzkouším a uvidíme.
jaroslavbauml
Profil
JamesBlond: ... Nicméně dneska vyšla symfony 1.2 s propelem 1.3, který už není postaven na Creole ale na PDO databázových ovladačí, takže vyzkouším a uvidíme...

Dobrý den, můžu se s odstupem času zeptat, jak jste problém vyřešil? (nastavení spojeni z php na mssql při použití UTF-8)
Řeším teď velmi podobný problém (symfony+doctrine <-> mssql) a pomohl by mi pointer.
Předem díky za odpověď.