DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   PHP, Apache - I want to get out (http://www.devprotalk.com/showthread.php?t=2625)

analyzer 17. 03. 2007. 14:19

PHP, Apache - I want to get out
 
Pozdrav svima redom, da ne nabrajam.
Ovo je moje prvo postovanje na dev pro talk-u a po Ilijinom nagovoru :1064:
Evo i mog problema...
Napravio sam program u php-u i na računaru korisnika ga instaliram nakon instaliranja apache-a, mysql servera i php-a.
Program radi u lokalu i radi bez problema. Medjutim, kao i svaki drugi program i njemu treba update a ja sam funkciju update-a zamislio na sledeci nacin.

1. korisnik otvara update stranicu u lokalu (localhost )-ovo radi
2. uz par mysql instrukcija skript definise promjenjive na osnovu vrijednosti iz lokalnih tabela.(i ovo radi)
3.nakon definisanja promjenjivih program treba da se kaci na moj sajt i da uradi par querija na bazi koja je na internetu a na osnovu promjenjivih koje su mu zadate u lokalu.
E OVO NE RADI.
Nije greska u skriptu jer nece nikako da se poveze sa stranice u lokalu na server i da izvuce bilo kakve podatke, a to mi je neophodno ako hocu da uporedim verziju koju klijent ima sa najnovijom verzijom.

eto... ako nisam dovoljno objasnio pitajte... visicu po forumima dok ne nadjem odgovor.:1074:
Pozdrav svima

LiquidBrain 17. 03. 2007. 14:52

Pogledaj u konfiguraciji mysql servera kome pristupash u lokalu, kako je definisan korisnik sa kojim se logujesh.

Verovatno je definisan kao korisnik@localhost, ako jeste ti ga lepo definishi kao
korisnik@hostname
gde je hostname ime mashine na kome se izvrsava skripta. Pa javi ako jeste :)

Pozdrav.

Ilija Studen 17. 03. 2007. 15:02

Uopšte nema potrebe da se remotely kači na bazu.

Većina biblioteka za parsiranje XML-a ima mogućnost da otvori URL (može preporuka za dobar XML parser na PHP4; za PHP5 je SimpleXML standard) pod uslovom da je PHP-u odobren izlaz na net. Tehnički, možeš da uradiš nešto slično ovome:

PHP kôd:

$xml simplexml_load_file('http://www.sajt.com/check.php?local_version=0.19');
// do something with data 

Na svom sajtu imaš skripticu koja na osnovu parametara prenetih kroz GET određuje da li korisnik ima aktuelnu verziju, da li mu je licenca istekla itd.

Ovde je moguće imati par problema:

1. Ima milion različitih načina na koje PHP setupovan i u nekim slučajevima jednostavno nemaš izlaz na net. Jako čest slučaj kod kompanijskih mreža, posebno u USA.
2. Ne bih ovo koristio za proveru ispravnosti licence. Taj kod bi trebalo da bude ugrađen u samu aplikaciju.

LiquidBrain 17. 03. 2007. 15:06

Ja se izvinjavam, propustio sam deo gde se program kazi na tvoj sajt.

analyzer 17. 03. 2007. 15:07

oho...evo ga lav.
vidi, meni nije problem to sa setovanjem php-a, jer ja ga distribuiram i on ostaje takav.
aplikacija ne ide sama vec uz neki vid moje asistencije kod korisnika, a niko od njih nema, ali ponavljam (sad sam ko draskovic) NEMA ni mysql ni php niti bilo sta nalik tome.
ja dolazim na cistu masinu koja nema niti je radila sa bazama.
ih bre ilija...nije ovo moje aC :)

analyzer 17. 03. 2007. 15:08

nije u pitanju mysql.
ja pokusavam da se nakacim regularno na remote bazu sa potpuno ispravnim parametrima iz lokala.
ako promenim bilo sta u mysql-u u lokalu, onda lokal nece raditi-

analyzer 17. 03. 2007. 15:10

nego, ilija, deder ti meni objasni malo to poblize...php i izlaz na net...

BrainDamage 17. 03. 2007. 17:21

Citat:

Originalno napisao analyzer
nije u pitanju mysql.
ja pokusavam da se nakacim regularno na remote bazu sa potpuno ispravnim parametrima iz lokala.
ako promenim bilo sta u mysql-u u lokalu, onda lokal nece raditi-

Pa, problem i jeste oko konekcije na remote server. Korisnik za remote MySQL server je verovatno dodat kao user@localhost, sto znaci da server dozvoljava konekcije samo "sa samog sebe", a ne i izvana - sto je slucaj koji je potreban tebi, radi update-ovanja. Nema potrebe da bilo sta menjas na client racunarima...

edit: resenje su ti vec naveli:
1) dozvoli na remote serveru kacenje sa remote masina - za svaki remote host poseban user (recommended, ali pada u vodu ako klijenti nemaju staticke IP adrese, i guess...), ili da postojecem korisniku izmenis privilegije i dozvolis kacenje sa bilo kog host-a (nije bas preporucljivo...)
2) Ilijino resenje - XML. Cini mi se da je malo izvikano ovo oko "izlaza napolje" jer jos nisam naleteo na konfiguraciju koja je zabranjivala otvaranja remote fajlova (osim mozda tamo gdje PHP radi u safe modu). Svejedno, ti odrzavas klijent masine tako da... :)

analyzer 17. 03. 2007. 17:47

Citat:

Originalno napisao BrainDamage
Pa, problem i jeste oko konekcije na remote server. Korisnik za remote MySQL server je verovatno dodat kao user@localhost, sto znaci da server dozvoljava konekcije samo "sa samog sebe", a ne i izvana - sto je slucaj koji je potreban tebi, radi update-ovanja. Nema potrebe da bilo sta menjas na client racunarima...

edit: resenje su ti vec naveli:
1) dozvoli na remote serveru kacenje sa remote masina - za svaki remote host poseban user (recommended, ali pada u vodu ako klijenti nemaju staticke IP adrese, i guess...), ili da postojecem korisniku izmenis privilegije i dozvolis kacenje sa bilo kog host-a (nije bas preporucljivo...)
2) Ilijino resenje - XML. Cini mi se da je malo izvikano ovo oko "izlaza napolje" jer jos nisam naleteo na konfiguraciju koja je zabranjivala otvaranja remote fajlova (osim mozda tamo gdje PHP radi u safe modu). Svejedno, ti odrzavas klijent masine tako da... :)

hmmm...ali to je vec dozvoljeno. dakle, dozvolio sam kacenje na remote server i to wild cardom, sto opet nije to.
dakle, cisto da sumiram:
na remote hostu dozvoljeno je kacenje na mysql bazu sa bilo kog host-a.
u lokalu,(ne radim u safe modu), je sve definisano kako treba.
Poruka koju mi izbaci je da ne moze da se poveze na bazu(a i ta poruka je definisana u lokalu :))
cisto da napomenem...
na bazu se kacim uz pomoc navicat-a i uz potpuno iste parametre koji su navedeni na web stranici(koja se otvara u lokalu) i navicat prolazi.

Petar Marić 17. 03. 2007. 17:56

Da kojim slučajem niste iza proxy-a?


Vreme je GMT +2. Trenutno vreme je 08:38.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.