Archívum - Szep 2008 - Fórum téma
szeptember 24
PHP execelés linux alatt.
Sziasztok!
Egy olyan programot szeretnék használni, ami egy adott (*.sh) szkriptet futtat le. Készítettem egy rádió szerver készítő PHP programot SHOUcast alatt és a szerver indításával lennének néhány gondjaim. Az (*.sh) szkript maga a rádió szervert hívja meg, hogy elindítsa azt. Ezt a műveletet remekül elvégzi és elkezd futni a szerver is remekül. Nos az lenne a problémám, hogy amikor elindítom a szervert a következő php szkripttel, akkor egyszerűen a böngésző végtelen töltésbe kezd. De közbe fut a szerver is. Ha leállítom a töltést, akkor is fut tökéletesen és Rendszerfigyelőn is látható a program futása.
A lefuttató szkript a következő :
-------------------------------------------------------
exec('/bin/sh /var/www/sc_serv.sh');
-------------------------------------------------------
sc_serv.sh tartalma ...
/var/www/sc_serv
-------------------------------------------------------
Ez csak egy kis részlet, hogy hogyan indítja el a szervert a program.
Több dokumentációt olvastam [php.net]-en és egyéb más Google által talált oldalakon, de egyikük közül sem találtam meg azt amit kerestem. Nos lényegében ezért fordultam én a Weblaborhoz.
Összességében nekem egy tanács, vagy ötlet kéne, hogy hogyan indítsam el a szervert úgy, hogy ne kezdjen végtelen töltésbe. Pl .: 1-szer lefut és akkor megáll a töltés. Az egyéb más parancsok mint pl .: whoami működnek folyamatos töltés nélkül. Véleményem szerint a programot próbálja ott monitorizálni és ezért nem akarja megállítani a töltést. Ezt esetleg valahogy kilehet a monitorizálást kapcsolni? Vagy van erre más indítási módszer ami biztonságosabb, vagy jobban működik? Mert szerintem ha nagyobb dolgokba kezdenék ezzel a módszerrel, akkor magára omlana ez az egész.
Előre is köszönöm a tanácsokat, ötleteket, válaszokat!
Üdvözlettel, Bence.
■ Egy olyan programot szeretnék használni, ami egy adott (*.sh) szkriptet futtat le. Készítettem egy rádió szerver készítő PHP programot SHOUcast alatt és a szerver indításával lennének néhány gondjaim. Az (*.sh) szkript maga a rádió szervert hívja meg, hogy elindítsa azt. Ezt a műveletet remekül elvégzi és elkezd futni a szerver is remekül. Nos az lenne a problémám, hogy amikor elindítom a szervert a következő php szkripttel, akkor egyszerűen a böngésző végtelen töltésbe kezd. De közbe fut a szerver is. Ha leállítom a töltést, akkor is fut tökéletesen és Rendszerfigyelőn is látható a program futása.
A lefuttató szkript a következő :
-------------------------------------------------------
exec('/bin/sh /var/www/sc_serv.sh');
-------------------------------------------------------
sc_serv.sh tartalma ...
/var/www/sc_serv
-------------------------------------------------------
Ez csak egy kis részlet, hogy hogyan indítja el a szervert a program.
Több dokumentációt olvastam [php.net]-en és egyéb más Google által talált oldalakon, de egyikük közül sem találtam meg azt amit kerestem. Nos lényegében ezért fordultam én a Weblaborhoz.
Összességében nekem egy tanács, vagy ötlet kéne, hogy hogyan indítsam el a szervert úgy, hogy ne kezdjen végtelen töltésbe. Pl .: 1-szer lefut és akkor megáll a töltés. Az egyéb más parancsok mint pl .: whoami működnek folyamatos töltés nélkül. Véleményem szerint a programot próbálja ott monitorizálni és ezért nem akarja megállítani a töltést. Ezt esetleg valahogy kilehet a monitorizálást kapcsolni? Vagy van erre más indítási módszer ami biztonságosabb, vagy jobban működik? Mert szerintem ha nagyobb dolgokba kezdenék ezzel a módszerrel, akkor magára omlana ez az egész.
Előre is köszönöm a tanácsokat, ötleteket, válaszokat!
Üdvözlettel, Bence.
mySQL licensz
Szeretnek egy PHP szkriptet irni, amely tartalmazni fog egy .SQL fajlot. Az SQL fajl egy adatbazist hoz letre, es maga a szkript lekereseket hajt vegre (mysql_query).
Kesobb talan eladnam a PHP alapu oldalt. Azt nem ertem, hogy ebben az esetben fizetni kell a mySQL csapatnak? A szkriptem nem fogja tartalmazni az o csomagukat (mysql-5xx.tar.gz).
Koszonom!
■ Kesobb talan eladnam a PHP alapu oldalt. Azt nem ertem, hogy ebben az esetben fizetni kell a mySQL csapatnak? A szkriptem nem fogja tartalmazni az o csomagukat (mysql-5xx.tar.gz).
Koszonom!
szeptember 23
Tartalom és motor csere.
Sziasztok!
Tanácsot kérek tőletek a következő témában!
Le akarom cserélni egy weboldal teljes tartalmát és megjelenítő motorját, ami már elkészült egy tesztszerveren, viszont az éles átállás legalább két napot vesz igénybe!
Amíg ez az átállás zajlik, a látogatókat ki akarom szolgálni valami minimális tartalommal. Az eddigi tartalom dinamikus volt, csak index.php-vel és GET paramáterekkel. Ez annyit jelent, hogy bárhonnan is érkezik a látogató miközben tartalmat és motort cserélek kizárólag az index.php-t fogja használni.
Arra gondoltam, hogy teszek bele egy IP szűrést, és ami nem az én IP-m, azt eldobom egy másik oldalra, ahol az átállással kapcsolatban kap egy két infót.
De mit tegyek a robotokkal? Mi ilyenkor a bevett szokás? Utasítsam ki robots.txt-ben és majd jön újra ha akar, vagy el tudom zavarni úgy is, hogy egy két nap múlva visszajöjjön?
s_volenszki
■ Tanácsot kérek tőletek a következő témában!
Le akarom cserélni egy weboldal teljes tartalmát és megjelenítő motorját, ami már elkészült egy tesztszerveren, viszont az éles átállás legalább két napot vesz igénybe!
Amíg ez az átállás zajlik, a látogatókat ki akarom szolgálni valami minimális tartalommal. Az eddigi tartalom dinamikus volt, csak index.php-vel és GET paramáterekkel. Ez annyit jelent, hogy bárhonnan is érkezik a látogató miközben tartalmat és motort cserélek kizárólag az index.php-t fogja használni.
Arra gondoltam, hogy teszek bele egy IP szűrést, és ami nem az én IP-m, azt eldobom egy másik oldalra, ahol az átállással kapcsolatban kap egy két infót.
De mit tegyek a robotokkal? Mi ilyenkor a bevett szokás? Utasítsam ki robots.txt-ben és majd jön újra ha akar, vagy el tudom zavarni úgy is, hogy egy két nap múlva visszajöjjön?
s_volenszki
SMS küldő ürlap php feldolgozással mysql tárolással
sziasztok!
lenne egy kérésem ha lehetséges akkor valaki segitsen már szeretnék
egy sms donation rendszert létrehozni akkor ha valaki megrendelést küld a weboldalamról egy szolgáltatásra ha be irja a megfelelő adatokat akkor tárolódjon el az adatbázisban de nem tudom meg irni az adatbázisra vonatkozó rész jó lenne ha volna valaki aki ért ehez
itt a kód fogad.php
<?
$db_user = "root"; //Felhasználónév
$db_pass = "*********"; //Jelszó
$db_name = "l2jsms"; //Adatbázis neve
$db_serv = "127.0.0.1"; //ip cím alapértelmezett: Localhost vagy 127.0.0.1
$db = mysql_connect ( $db_serv, $db_user, $db_pass ) or die ("Nem sikerült kapcsolódni [$db_serv]");
mysql_select_db ( $db_name );
?>
<span class="focim_feher">SMS Küldő rendszer</span>
<form name="prefix" action="fogad.php" method="post">
<span class="feher">Üzenet szövege:</span>
<input type="text"><br>
<span class="feher">SMS kategória:</span>
<select>
<option>160</option>
<option>250</option>
<option>400</option>
<option>800</option>
<option>1600</option>
</select><br>
<input type="submit" value="mehet">
</form>
<?
settype($id,"integer");
settype($kategoria,"integer");
settype($prefix,"string");
settype($üzenet,"string");
settype($telefonszam,"string");
//ide kell az ami tárolja az adatbáziban az adatokat
echo "OK
lenne egy kérésem ha lehetséges akkor valaki segitsen már szeretnék
egy sms donation rendszert létrehozni akkor ha valaki megrendelést küld a weboldalamról egy szolgáltatásra ha be irja a megfelelő adatokat akkor tárolódjon el az adatbázisban de nem tudom meg irni az adatbázisra vonatkozó rész jó lenne ha volna valaki aki ért ehez
itt a kód fogad.php
<?
$db_user = "root"; //Felhasználónév
$db_pass = "*********"; //Jelszó
$db_name = "l2jsms"; //Adatbázis neve
$db_serv = "127.0.0.1"; //ip cím alapértelmezett: Localhost vagy 127.0.0.1
$db = mysql_connect ( $db_serv, $db_user, $db_pass ) or die ("Nem sikerült kapcsolódni [$db_serv]");
mysql_select_db ( $db_name );
?>
<span class="focim_feher">SMS Küldő rendszer</span>
<form name="prefix" action="fogad.php" method="post">
<span class="feher">Üzenet szövege:</span>
<input type="text"><br>
<span class="feher">SMS kategória:</span>
<select>
<option>160</option>
<option>250</option>
<option>400</option>
<option>800</option>
<option>1600</option>
</select><br>
<input type="submit" value="mehet">
</form>
<?
settype($id,"integer");
settype($kategoria,"integer");
settype($prefix,"string");
settype($üzenet,"string");
settype($telefonszam,"string");
//ide kell az ami tárolja az adatbáziban az adatokat
echo "OK
Eclipse és ftp
Sziasztok!
Minden ellenérzésem ellenére telepítettem az eclipse-t. Szeretnék egy távoli site-ot ftp-n keresztül bemapponi, annak ellenére, hogy blogokban mindenütt azt olvasom, hogy lehetséges (és eddig nem tartottam magam számítástechnikai analfabétának), képtelen vagyok rá.
Aztán kis keresgélés után találtam egy ilyet:
http://www.eclipse.org/eclipse/platform-team/target.php
Megörtültem, hogy biztos ezzel a pluginnel fog menni a dolog, aztán ebből is valami furcsaság lett, és azt se tudom elyik oldalán fogjam meg (bejön néhány fájl és könyvtár), instrukciók sehol...
Úgyhogy kedves Eclipse-használók, útba tudnátok igazítani?
■ Minden ellenérzésem ellenére telepítettem az eclipse-t. Szeretnék egy távoli site-ot ftp-n keresztül bemapponi, annak ellenére, hogy blogokban mindenütt azt olvasom, hogy lehetséges (és eddig nem tartottam magam számítástechnikai analfabétának), képtelen vagyok rá.
Aztán kis keresgélés után találtam egy ilyet:
http://www.eclipse.org/eclipse/platform-team/target.php
Megörtültem, hogy biztos ezzel a pluginnel fog menni a dolog, aztán ebből is valami furcsaság lett, és azt se tudom elyik oldalán fogjam meg (bejön néhány fájl és könyvtár), instrukciók sehol...
Úgyhogy kedves Eclipse-használók, útba tudnátok igazítani?
Hova tüntek a gyorslinkek az új weblaboron?
Sziasztok,
Számomra ez volt az egyik legszembetünőbb változás :(
Visszakerül ez a funkció/modul vagy végleg lemondhatok a régi linkjeimről?
■ Számomra ez volt az egyik legszembetünőbb változás :(
Visszakerül ez a funkció/modul vagy végleg lemondhatok a régi linkjeimről?
hibakezelés
Kérdésem az volna, hogy ki milyen függvényeket, megoldásokat használ és mire?
set_error_handler()
saját hibaüzenetkezelés, logolás..
trigger_error()
hiba létrehozása (akár logolásra..)
set_exception_handler()
a nem elkapott kivételek kezelésére. ez mondjuk mire jó? bizonyos exception-öknél visszacsinálok dolgokat (pl db, rollback), vagy kezeletlen hibáknál vmi egységes hibaüzenet. de ugye jól érzem, hogy amikor ezt használjuk, akkor a program futása megszakad?
try{
}catch{
}
ha a try-ban valami hiba van, catch-ben hatástalanítom / megcsinálom másképp (pl. db insert-et akartam, de duplicate entry lett volna, így update-et csinálok), aztán mehet tovább a program futása, vagy akár ki is léphetek..
register_shutdown_function()
érdekes felhasználást láttam itt a hozzászólások között. biztosan jó másra is.
egyéb lehetőségek? hasznos felhasználási módok? tippek trükkök? ilyesmik (:
■ set_error_handler()
saját hibaüzenetkezelés, logolás..
trigger_error()
hiba létrehozása (akár logolásra..)
set_exception_handler()
a nem elkapott kivételek kezelésére. ez mondjuk mire jó? bizonyos exception-öknél visszacsinálok dolgokat (pl db, rollback), vagy kezeletlen hibáknál vmi egységes hibaüzenet. de ugye jól érzem, hogy amikor ezt használjuk, akkor a program futása megszakad?
try{
}catch{
}
ha a try-ban valami hiba van, catch-ben hatástalanítom / megcsinálom másképp (pl. db insert-et akartam, de duplicate entry lett volna, így update-et csinálok), aztán mehet tovább a program futása, vagy akár ki is léphetek..
register_shutdown_function()
érdekes felhasználást láttam itt a hozzászólások között. biztosan jó másra is.
egyéb lehetőségek? hasznos felhasználási módok? tippek trükkök? ilyesmik (:
szeptember 23
PHP5 UML Editor
Sziasztok!
Már egy ideje fontolgatom, hogy egy UML szerkesztőt kellene használni az osztályaim/interfészeim megtervezéséhez, de idáig nem találtam olyan programot, ami rendelkezik minden szükséges funkcióval, kényelmesen kezelhető, és teljes mértékben támogatja a php5-öt.
Már egy ideje fontolgatom, hogy egy UML szerkesztőt kellene használni az osztályaim/interfészeim megtervezéséhez, de idáig nem találtam olyan programot, ami rendelkezik minden szükséges funkcióval, kényelmesen kezelhető, és teljes mértékben támogatja a php5-öt.
Számmal megkülönböztetett form elemek elenőrzése javascriptel.
Adva van a következő ürlap:
<form name="urlap">
...<input type="text" name="nev_1" />
...<input type="text" name="nev_2" />
...<input type="text" name="nev_3" />
......
...<input type="text" name="nev_n" />
...<input type="button" value="Ok" onclick="ell(n)" />
</form>
A mezők száma nem ismert, mert php hozza létre őket, a user előző bevitele alapján, és a számokat a program biggyeszti a mezők nevének a végére. Szeretném leellenőrizni js-sel, hogy minden mező ki van e töltve.
function ell(szam){
...for(var i=1; i<=szam; i++){
......if(document.urlap.mezo_+i+.value==''){
.........alert('Üres mező');
......}
...}
}
Na most ez a mezo_+i+ nem igazán akar működni. Több megoldást is kipróbáltam, de egyik sem működött, és leírást nem nagyon találtam a problémára. Mi a megoldás? V.színűleg láma kérdés, de újszülöttnek minden vicc új! Aki segít, annak előre is kösz.
■ <form name="urlap">
...<input type="text" name="nev_1" />
...<input type="text" name="nev_2" />
...<input type="text" name="nev_3" />
......
...<input type="text" name="nev_n" />
...<input type="button" value="Ok" onclick="ell(n)" />
</form>
A mezők száma nem ismert, mert php hozza létre őket, a user előző bevitele alapján, és a számokat a program biggyeszti a mezők nevének a végére. Szeretném leellenőrizni js-sel, hogy minden mező ki van e töltve.
function ell(szam){
...for(var i=1; i<=szam; i++){
......if(document.urlap.mezo_+i+.value==''){
.........alert('Üres mező');
......}
...}
}
Na most ez a mezo_+i+ nem igazán akar működni. Több megoldást is kipróbáltam, de egyik sem működött, és leírást nem nagyon találtam a problémára. Mi a megoldás? V.színűleg láma kérdés, de újszülöttnek minden vicc új! Aki segít, annak előre is kösz.
Cache-elés folyamata
Tegyül fel, hogy van egy blogunk, ami megjeleníti a kezdőlapon az utolsó 10 bejegyzést. Ezt mi szeretnénk cache-elni, hogy ne kelljen minden oldaltöltésnél lekérni az utolsó 10 bejegyzés adatait (cím, dátum, szerző, címkék, stb.) az adatbázisból.
Folyamat: Ellenőrizzük, hogy a cache érvényes-e még. Ha nem, akkor generáljuk, ha igen beolvassuk. A cache akkor érvénytelen, ha nem létezik, valamint ha létezik és a készítése óta van már újabb bejegyzés. Akkor érvényes, ha van cache fájl és a készítése óta nem született újabb bejegyzés.
Azt egy, az adatbázisban tárolt flag alapján döntük el, hogy van-e újabb bejegyzés. Vagy itt kérjük le az utolsó bejegyzés ID-ját és azt csapjuk hozzá a cache file nevéhez? (előbbi nekem szimpatikusabb)
És itt jön a dilemmám: a cache-elést hol valósítsam meg?
A model-ben? Szedjem össze a 10 bejegyzés adatát, írjam ki egy file-ba (pl. serializált tömbként), majd kiírásnál olvassam be és adjam át a view-nak?
A controller-ben? Kérjem le a flag-et, hogy van-e újabb bejegyzés és ennek függvényében hozzam létre a teljes html kimenetet és azt cache-eljem?
■ Folyamat: Ellenőrizzük, hogy a cache érvényes-e még. Ha nem, akkor generáljuk, ha igen beolvassuk. A cache akkor érvénytelen, ha nem létezik, valamint ha létezik és a készítése óta van már újabb bejegyzés. Akkor érvényes, ha van cache fájl és a készítése óta nem született újabb bejegyzés.
Azt egy, az adatbázisban tárolt flag alapján döntük el, hogy van-e újabb bejegyzés. Vagy itt kérjük le az utolsó bejegyzés ID-ját és azt csapjuk hozzá a cache file nevéhez? (előbbi nekem szimpatikusabb)
És itt jön a dilemmám: a cache-elést hol valósítsam meg?
A model-ben? Szedjem össze a 10 bejegyzés adatát, írjam ki egy file-ba (pl. serializált tömbként), majd kiírásnál olvassam be és adjam át a view-nak?
A controller-ben? Kérjem le a flag-et, hogy van-e újabb bejegyzés és ennek függvényében hozzam létre a teljes html kimenetet és azt cache-eljem?