{"id":310,"date":"2014-07-03T11:20:57","date_gmt":"2014-07-03T10:20:57","guid":{"rendered":"http:\/\/zsteva.info\/?p=310"},"modified":"2014-07-03T12:29:43","modified_gmt":"2014-07-03T11:29:43","slug":"u-malo-pomoci-phpa-na-windowsu","status":"publish","type":"post","link":"http:\/\/zsteva.info\/blog\/2014\/07\/u-malo-pomoci-phpa-na-windowsu\/","title":{"rendered":"U malo pomo\u0107i PHPa na windowsu"},"content":{"rendered":"<p>Po\u0161to mi je probleme najlak\u0161e re\u0161avati na linuxu sa (pa neki script jezik, izmedju ostalog PHP), problem nastane kad treba ne\u0161to uraditi \u0161to treba instalirati negde gde nema linuxa.<\/p>\n<p>Jedno od re\u0161enja, stavi\u0107u na svoj server i dati korisnicima URL, i to radi odli\u010dno, osim u slu\u010dajevima kad scriptama treba pristup ne\u010demu \u0161to je u lokalnoj mre\u017ei. A re\u0161enja za to: custom browseri, java apleti, vpn,&#8230; verovatno jo\u0161 neko kojeg se nisam setio drasti\u010dno komplikuje.<\/p>\n<p>PHP se lepo i elegantno vrti na windowsu, ali ako nije neka stati\u010dna scripta, potreban je web server, e tu opet ima vi\u0161e opcija, ali instalirti apache zbog 2 php scripte koje \u0107e ne\u0161to uraditi mi je malo previ\u0161e, ali je jedno od lepih re\u0161enja.<\/p>\n<p>Jednostavnije i elegantnije re\u0161enje: PHP ima u sebi embedded web server, koji se jednostavno pokrene tako \u0161to se pozicionirate u document root direktorijum i pokrenete <code>php -S localhost:8080<\/code> i dobili ste web server koji se vrti na localhostu i mo\u017ee se pristupiti browserom, a sa druge strane scripte imaju kompletno pristup svim lokalnim resursima.<\/p>\n<p>Prozor koji stoji otvoren, briga klienta da li je tamo ne\u0161to (\u0161to nema pojma \u0161ta je) pokrenuto i sli\u010dni problemi su vrlo neozbiljni, i optere\u0107uju\u0107i. Pa hajmo da napravimo windows service od PHPa.<\/p>\n<p>Program se zove <a href=\"http:\/\/nssm.cc\/\" title=\"nssm.cc\">nssm<\/a>. I sve \u0161to je potrebno je jedna .cmd scripta koja \u0107e podesiti service.<\/p>\n<p><strong>inssvc.cmd<\/strong><br \/>\n<code><br \/>\nnssm install phpweb C:\\php\\php.exe<br \/>\nnssm set phpweb AppParameters -S localhost:8080<br \/>\nnssm set phpweb AppDirectory C:\\php\\htdocs<br \/>\nnssm set phpweb AppStdout C:\\php\\logs\\stdout.log<br \/>\nnssm set phpweb AppStderr C:\\php\\logs\\stderr.log<br \/>\nnssm set phpweb AppStopMethodSkip 6<br \/>\nnssm set phpweb AppStopMethodConsole 1000<br \/>\nnssm set phpweb AppThrottle 5000<br \/>\nnssm start phpweb<br \/>\n<\/code><\/p>\n<p>I to bi trebalo da bude to. Usput mo\u017eemo napraviti jo\u0161 nekoli .cmd fajlova da bi ako zatreba mogli lako da pokrenomo, zaustavimo, restartujemo server.<\/p>\n<p><strong>delsvc.cmd<\/strong> &#8211; deinstalacija servica<br \/>\n<code><br \/>\nnssm stop phpweb<br \/>\nnssm remove phpweb<br \/>\n<\/code><\/p>\n<p><strong>start.cmd<\/strong> &#8211; startovanje servica<br \/>\n<code><br \/>\nnssm start phpweb<br \/>\n<\/code><\/p>\n<p><strong>stop.cmd<\/strong> &#8211; stopiranje servica<br \/>\n<code><br \/>\nnssm stop phpweb<br \/>\n<\/code><\/p>\n<p><strong>start-console.cmd<\/strong> &#8211; startovanje u konzoli, ako vam je potrebno da lako vidite stderr<br \/>\n<code><br \/>\ncd htdocs<br \/>\n..\\php -S localhost:8080<br \/>\n<\/code><\/p>\n<p>Ovo je tek malo testirano kod mene na ra\u010dunaru, vide\u0107emo kako \u0107e se pokazati u praksi. Ja se nadam da ne\u0107e biti nekih problema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Po\u0161to mi je probleme najlak\u0161e re\u0161avati na linuxu sa (pa neki script jezik, izmedju ostalog PHP), problem nastane kad treba ne\u0161to uraditi \u0161to treba instalirati negde gde nema linuxa. Jedno od re\u0161enja, stavi\u0107u na svoj server i dati korisnicima URL, &hellip; <a href=\"http:\/\/zsteva.info\/blog\/2014\/07\/u-malo-pomoci-phpa-na-windowsu\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[136,137,119,32],"tags":[120],"_links":{"self":[{"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/posts\/310"}],"collection":[{"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":10,"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"predecessor-version":[{"id":320,"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/posts\/310\/revisions\/320"}],"wp:attachment":[{"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/zsteva.info\/blog\/wp-json\/wp\/v2\/tags?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}