- Ez már a középkategória: teszten a GeForce RTX 5070
- Milyen billentyűzetet vegyek?
- OLED TV topic
- Milyen TV-t vegyek?
- Everest / AIDA64 topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- Megjelent a Red Magic kompakt OLED kijelzős gaming táblagépe
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD Navi Radeon™ RX 9xxx sorozat
Új hozzászólás Aktív témák
-
polymorphin
csendes tag
válasz
#68216320 #21178 üzenetére
Java (spring?) utan erthetobb lesz, a Laravelben tul sok a "magic", megsporolsz par WTF-ot. De igazabol a Laravel is oke ha gyosran ossze akarsz dobni valami hasznhatot. IDE-nek egyertelmuen PhpStorm (EAP ingyenes ahogy emlitettek).
Ami meg standard a PHP vilagban:
- PhpUnit: unit, feature tesztekhez
- xDebug, debugger
- PHPCS, coding standard (formazas)
- psalm/phpstan, statikus analizis, pluszban docblockban tudsz arrayshape-et, generics-et hasznalni#21193
Laravel dokumentacioja eleg jo pedig, foleg kezdoknek, konyvet senki nem hasznal. -
coco2
őstag
Dotnet / windows alatt dllimport-tal be tudok húzni a windows dll-jei közül bármit, tudok a hívásnak paramétereket átadni, eredményt visszakapni. Php / linux alatt van arra valami hasonló okosság kitalálva? Be szeretnék hívni olyasmiket, mint mmap(), ioctl() és társai - nincsen rájuk közvetlen php támogatás.
-
coco2
őstag
válasz
bhonti #21194 üzenetére
A YT nem dokumentáció, hanem népszerűséghajhász exhibicionisták reality show-ja. Fityiszfenét sem adnak azok a népek sem a korrektségre, sem az alaposságra.
Technikai eszközt normálisan dokumentálni csak írott formában lehet. Ami nem érte meg azt az erőfeszítést, hogy nemzetközi szakmai közönségnek szánt könyv készüljön róla, az még gyerek cipőben jár, éretlen.
-
válasz
szpeti40 #21188 üzenetére
Na itt tényleg valami jogosultság beli probléma lesz, köszi az eddigi segítséget
sudo -H -u szpeti40 bash -c 'python ipmi.py'
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Traceback (most recent call last):
File "ipmi.py", line 35, in <module>
main()
File "ipmi.py", line 28, in main
print(getTemp())
File "ipmi.py", line 16, in getTemp
return list[1].strip()
IndexError: list index out of range
sudo -H -u root bash -c 'python ipmi.py'
33
-
#68216320
törölt tag
válasz
pelyib #21179 üzenetére
Köszönöm a tippet. Igen, a VSCode valóban jó cucc. Használtam már amikor C/C++ cuccba kellett belenyúlnom.
Viszont valamiért PHP esetében nem ugrott be, hogy használjam. Meg fogom próbálni.
A PHPStorm ilyen jellegű használata viszont macerásnak tűnik, egyelőre nem eröltetem.VIM?? Nem semmi vagy, elismerésem. Én sima editornak is inkább a nano-t használom
Eddig még nem volt erőm belemélyedni a VIM lekivilágába. -
FeniX-
senior tag
válasz
szpeti40 #21182 üzenetére
Valószínúleg az is lefut, max nincs az outputban semmi. Meg kell kézni, hogy külön a python script kiirat-e valamit.
shell_exec php leírás:
Return values: A string containing the output from the executed command,false
if the pipe cannot be established ornull
if an error occurs or the command produces no output.
Ezek közül simán lehet, hogy false, vagy null kerül az $output-ba. Én a python kódot nézném meg első körben.
Ott is lehet php-t futtatni konzolból, tehát 'interaktívan' is kipróbálhatod a shell_exec parancsot.pl. egy 'a.php' fáljba beleírod, hogy :
<?php $output = shell_exec("python3 python-code/ipmi.py");
echo "Hőmérséklet: " . $output;
?>
és utána ezt futtatod a konzolból unix alatt: [root@root]# php a.php
-
válasz
FeniX- #21181 üzenetére
De, a "Hőmérséklet: " az kiíródik, csak utána nincsen semmi.
Ez van az eredmény-weboldalon:<h1>Hőmérséklet: </h1>
"ls
" parancs esetén a kimenet:<h1>Hőmérséklet: RandM_404
asd
dark-mode-switch.min.js
dark-mode.css
index.php
jatek.css
new
pharmapromoteszt
python-code
regi
</h1>
Vagyis sima linux paranccsal lefut, csak a python kód valamiért nem. -
-
Sziasztok!
Olyan problémám lenne, hogy van egy linux szerver amin fut egy php oldal és php-n belül szeretnék python script-et futtatni, de valamiért az istenért sem jelenik meg semmi sem
Ha csak egy sima
ls
parancsot akarok futtatni, akkor mutatja is a mappákat a weboldalon.<h1><?php $output = shell_exec("ls");
echo $output;
?></h1>
Viszont ha a python kódot akarom futtatni, akkor meg semmit nem irat ki a weboldalra
<h1><?php $output = shell_exec("python3 python-code/ipmi.py");
echo "Hőmérséklet: " . $output;
?></h1>
A script-nek van joga futni, direktben a szerveren futtatva lefut rendben.
Valakinek van ötlete mi lehet a baj?
-
pelyib
tag
válasz
#68216320 #21171 üzenetére
PHPStormnak van egy EAP (early access program) nevu valtozata, ami ingyenes. Amikor lejar, torlod, letoltod az ujat, telepites, folytatod ahol felbeszakadt.
VS Code is egesz hasznalhato, kell par plugin (opcionalisan az Intelephense pluszban). En a devcontainer megoldasat nagyon kedvelem.
Onsanyargatoknak meg termeszetesen VIM, en az utobbi fel evben a NeoVim-t hasznalom, nem egy PHPStorm de nekem bejon. Termeszetesen ennek a setupolasahoz egy elet is keves
-
#68216320
törölt tag
válasz
polymorphin #21177 üzenetére
Kicsit reszletezned, hogy miert ezt ajanlanad?
Mi az elonye mondjuk a Laravel-el szemben? -
#68216320
törölt tag
válasz
miroon #21172 üzenetére
Igen, én is a Laravel-ben gondolkodom. Régi melóhelyemen is a project egy része azt használta, valamennyire emlékszem még a felépítésére.
Eclipse PDT nagyon melléfogás lenne? Valahogy kézreáll a használata.nevemfel:
Nem szeretnék havi pakkot venni semmiből.coco2:
A PHP nem idegen számomra, csupán eddig nem használtam framework-öt.
Pár éve még működött egy napi párezres látogatottságú site-om, amit teljesen nulláról magam építettem fel. Saját osztályok, saját loader, stb. Fontend és backend.
(Már nem működik, lekapcsoltam üzleti megfontolásból, csak a domain-t tartottam meg azóta is.)
A lényeg, hogy most csak egy másik project kedvéért szeretnék framework-öt használni és teljes mértékben szeretném az adott fw-öt megismerni. -
Bzozoo
tag
válasz
#68216320 #21171 üzenetére
Én a helyedben valami nagyon könnyű framework-el kezdenék, főleg, ha a backend és API megvalósításról van szó, mint a Slim4 https://www.slimframework.com/
-
coco2
őstag
válasz
#68216320 #21171 üzenetére
A válasz attól is függ, mennyire szeretnéd megérteni azt, amit csinálsz? Ha csak legyen kész, használj bármit, amire copy / paste-elhető példákat találsz. Összehajigálsz mindent tech stack-be, és reméled, hogy soha semmi nem lesz hibás későbbi verziókban, nem fognak összeakadni a dolgok és társai
Ha meg alapokat tanulni szeretnél, maga a php már egy framework, afölött nincsen szükséged másikra. Ami kell, osztályok formájában megírod te, és lesz talán egy kicsi rálátásod arra, néhány FW-ben miért úgy vannak a dolgok, ahogy, illetve felis mered majd már ránézésre a feature-ök alapján, ha némelyik eszköz egy összehajigált vacak. A csapásirány árnyoldala, hogy temérdek sok időt fogsz elhasználni tanulásra, ami közvetlenül nem hasznos. Ha türelmed nincs - sok türelmed - inkább az első opciódat válaszd.
-
nevemfel
senior tag
-
miroon
aktív tag
válasz
#68216320 #21171 üzenetére
Szia!
IDE-nek phphoz én a PhpStorm-ot mondanám
Vannak külön laravel helper, symfony helper stb bővítmények amikkel még tovább lehet okosítani.
A framework elég sok mindentől függ szerintem, én laravel párti vagyok.. de ha nagyjából ismered a laravelt akkor egy symfonys projekt se fog rajtad kifogni - és ez szerintem fordítva is igaz.
Laravelnek szerintem az egyik nagy előnye,hogy baromira jól dokumentált.
-
#68216320
törölt tag
Sziasztok.
Saját project készítése közben szeretnék valamilyen backend framework használatot elsajátítani.
Milyen fw-öt javasolnátok? Laravel, Symphony?
Illetve melyik IDE-t érdemes használnom? Java-hoz még mindig az Eclipse (pontosabban STS) IDE-t használom. Felkonfigolva érdemes használnom PHP-hez is? Vagy van valami ami inkább javasolt lenne hozzá? (fontos h linux támogatott legyen)Köszönöm.
-
biker
nagyúr
-
liksoft
nagyúr
válasz
liksoft #21168 üzenetére
Példa:
http://ddns.zzzzzzz.hu/kiprobalom/fileup.php?torol=:konyvt1/Proba2/Vagyis a fileup.php torol paraméterben kapja meg az ő elhelyezkedésétől található könyvtárat (konyvt1/Proba2) / lezárással, : bevezetéssel, ahová a kiválasztandó file-nak kerülnie kell.
fileup.php:
<html>
<head>
<title>FILEUP</title>
</head>
<body>
<?php
$fileut = $_REQUEST['torol'];
if (stristr($fileut, ':')) {
$fileut = substr($fileut, 1);
// print($fileut);
if (file_exists($fileut)) {
print("<FORM ACTION=\"fileup.php\" method=\"post\" enctype=\"multipart/form-data\">");
print("<CENTER>");
print("Cél könyvtár:<INPUT TYPE=text NAME=\"torol\" SIZE=120 VALUE=".$fileut."><BR><br>");
print("Másolandó:<INPUT TYPE=file NAME=\"feltol\"><BR><br>");
print("<INPUT TYPE=SUBMIT NAME=\"elkuld\" VALUE=\"Mégsem\">");
print("<INPUT TYPE=SUBMIT NAME=\"elkuld\" VALUE=\"Létrehoz\">");
print("</CENTER>");
print("</FORM>");
};
} else {
$enable = $_REQUEST['elkuld'];
if ($enable == "Létrehoz") {
$felfile = $_FILES['feltol'];
$fileut = $fileut . $felfile['name'];
// print($fileut." -- ");
// print_r($felfile);
move_uploaded_file($felfile["tmp_name"], $fileut);
print("A file feltöltése megtörtént, zárja be ezt az ablakot.");
} else {
print("A file NEM került másolásra, zárja be ezt az ablakot.");
};
};
?>
</body>
</html>Működése: A meghívó program a könyvtár elé betesz egy : jelzést. Ha ez az első karaktere a könyvtárnak, akkor ki kell választani a file-t a FORM INPUT részében. A FORM visszahív magára, de ekkor nincs ott a kettőspont, így a megkapott paraméterek alapján már elkészíti a másolást.
VIGYÁZAT! Ebben SEMMI hibavizsgálat nincs, a kód alapszint alatti tudással íródott, így randa is! De megy, talán segít másnak.Szerk: kéretik nem leszólni, mert boldog vagyok, hogy működik! A finomítása meg lesz később.
-
liksoft
nagyúr
KÖSZÖNÖM! MEGY! (A finomítás ráér később, meg a szebb kivitel is. A lényeg, az alapot tudja!) KÖSZÖNÖM!
Viszont azzal még mindig bajom van, hogy "CSAK, mert annak ilyenkor így kell kinéznie...." De miért? Szerintem az INPUT egy olyan több típust is felvehető objektum, mely megadása és felprogramozása szükséges a feladathoz. A gondom csak az, hogy sehol nem találtam olyan leírást, hogy FILE esetén az objektum megadása: <form action="upload.php" method="post" enctype="multipart/form-data">. Példaprogramot sem találtam mely pici, a HTML és php részt egyaránt magyarázattal tartalmazná. Mindenhol csak részletek vannak, a HTML-nél a HTML, a php esetén a php rész. Megpróbálok egy picit összedobni, kirakni ide példának.
KÖSZÖNÖM, megy! (táncolós figura!)
-
Taci
addikt
válasz
liksoft #21161 üzenetére
Sajnos tapasztalat híján csak linkekkel tudlak segíteni. Pl. ezek a példák hátha hasznosak: [link]
De amúgy minden függvénynek megvan a saját leírása is, pl.: move_uploaded_file.Viszont ha nem másolsz be példakódot, a többiek sem fognak tudni segíteni. Szóval szerintem másold be a kódodat, írd át a privát részeket publikusra (mármint személyes adatot, ip címet, jelszót, bármit, szedd ki), és akkor hátha könnyebb lesz a debug.
-
liksoft
nagyúr
Köszönöm. Ezt már átnéztem, ezért írtam, valami nagyon nem tiszta, mert nem értem. A nevet megkapom, át tudom adni, megvan a cél könyvtára is, és a move_uploaded_file nem csinál semmit. Ha máshogyan kell, akkor abban kérek segítséget, ha ezzel, akkor a paramétereket cseszem el, vagy a környezetet, vagy a programot, vagy a metodikát, vagy.....
Harmadik napja próbálok egy típus nélküli vizsgálat nélküli copy-t A-ból B-be, és nem megy. Vagyis ha nincs működő kód "hülyegyerek" magyarázattal, akkor nem fogom megérteni. Én ott tartok, egy ablakot sem tudok megnyitni fix mérettel, de erről le is tettem, mert nem kell. De itt ugyanúgy logikai hibám van, amit nem tudok feloldani. Ez NEM PASCAL, azt könnyen olvasom, írom. Abban régen a 32000 soros program sem okozott gondot DMA kezeléssel, file műveletek közbeni zenelejátszással sem (amihez a teljes file-kezelőt át kell venni, mert a DOS egyszerre 2 file műveletet nem kezel, ráadásul DMA és interrupt kezeléssel.De ez itt totál más! Érzésem szerint objektumok tömkelege, melyek felprogramozását nem ismerem. Innen meg egyenes út a bukás.
-
Taci
addikt
válasz
liksoft #21159 üzenetére
Én még nem használtam fájlfeltöltésre, de ha használni szeretném, innen indulnék ki:
PHP File Upload
Amúgy javaslom az oldal (W3Schools) PHP-tananyagának és -gyakorlatainak végigvitelét, mert nagyon sok hasznos (és alap) dolgot tanulhatsz belőle. -
liksoft
nagyúr
Szervusztok!
Segítséget kérnék. Kezdő vagyok, de NAGYON!!!!!
A gondom, hogy nem tudok file-t feltölteni. Valamit nagyon elnézek, vagy piti dolgon csúszom el. Ugyanakkor mivel tanulni szeretnék, nem a meglévőm mutatnám meg, én szeretném oda alakítani amit kérek.
A file kiválasztását <INPUT TYPE=file -ként próbálom (valami vissza is jön, de lehet nem jó) és az így kiválasztottat szeretném egy $xxxx változóban lévő könyvtárba tenni a serveren.
Kis magyarázatnak hozzá extrán örülnék. Köszönöm előre is! -
meone
tag
Valahogy nem áll össze nekem a dolog.
Mondjuk régen foglalkoztam már PHP programozással.
Ezzel a minta kóddal dolgozom most fel az adatbázis.$result = pg_query($query);
$i = 0;
echo '<html><body><table border=\"0\"><tr>';
while ($i < pg_num_fields($result))
{
$fieldName = pg_field_name($result, $i);
echo '<td>' . $fieldName . '</td>';
$i = $i + 1;
}
echo '</tr>';
$i = 0;
while ($row = pg_fetch_row($result))
{
echo '<tr>';
$count = count($row);
$y = 0;
while ($y < $count)
{
$c_row = current($row);
echo '<td>' . $c_row . '</td>';
next($row);
$y = $y + 1;
}
echo '</tr>';
$i = $i + 1;
}
pg_free_result($result);
echo '</table></body></html>';
// Closing connection
pg_close($dbconn);Azt értem, hogy hogy jön létre a fejléc és hogy írja ki.
Azt is, hogy hogyan írja ki a sorokat.
De gondolom valahogy máshogy kellene meg oldanom, hogy mondjuk az egyik cella értéke egy JSON tömböt tartalmaz a másik nem(egy egyszerű dátum vagy egy decimal érték).
Azt is értem, hogy mondjuk az fc_count értéke ha 2 vagy 3 akkor egy másik cellának az értékét máshogy kell manipulálni.
De a kódban ezt hogy tudom meg valósítani, erre tudna valaki egy kis egyszerű kód részletet mutatni, ami alapján én tovább manipulálom a kódomat?Segítséget előre is köszönöm.
-
válasz
hiperFizikus #21152 üzenetére
... ha-ha én is szívtam több napot egy kis ciklus eljáráson, engem se vígasztalt senki, míg kolléga 'segített' egy teljesen más elképzeléssel, így a 'magam útján' nem lettem előrébb (collection - array összevetési gubanc), ugyan a probléma meg lett oldva..
-
hiperFizikus
senior tag
válasz
sztanozs #21151 üzenetére
Most épen 2 napig kavartam a kódon egy helyben, de új ötlet alapján ismét lendületbe jöttem .
A 003 verziót csinálom, de sokat markoltam benne egyszerre, de így is már kifele vagyok a felétől nézve ! Még 3 nagyobb alaki szerkezetet kell megcsinálnom hozzá, meg sok aprókat, és a diagnosztikát felhozni, meg a dokumentációját alaposabbá tenni . Így sem lesz még a funkcióknak alakjuk és paraméterlistájuk, meg a szimultán értékadás sem, de a ciklusok és az elágazások igen .
De már zavar az egyhangúsága a gépelésnek, senki sem vigasztal engem ...
-
sztanozs
veterán
válasz
hiperFizikus #21150 üzenetére
Fejlessz állaptgépet és kezelj mindent kézzel. Nem tudom, most hol tart a kódod, de a regex-szel csak szívni fogsz, ha még mindig azzal próbálkozol.
-
hiperFizikus
senior tag
Egyedül marha sokáig fog tartani (tudom, én csak egy saját CMS-t akartam létrehozni, de beláttam, hogy egyedül kevés vagyok hozzá).
Így igaz . Most is elkezdtem egy egyszerű kis Huzzy szerkezetet JS-en leprogramozni . De vagy 2 napja kavarom miatta a kódot, már az idegeimre megy . Most meg kitaláltam egy újfajta megközelítést, és talán holnap leprogramozhatom vele másfél óra alatt ugyanazt .
-
ztsoft
őstag
válasz
hiperFizikus #21148 üzenetére
Annyi közös van a JavaScript és a PHP nyelv között, hogy mindkettőnek szüksége van egy értelmezőre (interpreter) ezzel vége is.
A JavaScript főként kliens oldalon (böngészőben), a PHP főként szerver oldalon webszerver beépülőként fut.Nem igazán értem, hogy mi értelme szimulálni a PHP parancsait, mivel maga az értelmező fut majdnem minden platformon.
Megnéztem az első (001) "verziót", de ekkora katyvaszt még nem láttam (pedig én is csak hobbi szinten programozok, HTML, JavaScript, PHP, CSS, Pascal nyelveken), a függvények nevei nem beszédesek, ahogy a változók sem.
Szerintem, elsőnek tanulj valamilyen programozási nyelvet, hogy az alapokat elsajátítod (függvények, változók, foglalt szavak, műveleti jelek, stb.), utána ha ez már megy, akkor el lehet gondolkozni saját programozási nyelven.
Egyedül marha sokáig fog tartani (tudom, én csak egy saját CMS-t akartam létrehozni, de beláttam, hogy egyedül kevés vagyok hozzá).
Sok sikert hozzá!
-
hiperFizikus
senior tag
Lenne számotokra egy laikus kérdésem :
Ezt a kérdést a saját topikomban tettem fel:
https://itcafe.hu/tema/huzzy_kod/hsz_11-11.html
talán oda kellene válaszolnotok ! -
liksoft
nagyúr
válasz
supercow #21145 üzenetére
Aha. Közelről nézve Java, távolról már csak Script......
Csak a feszkót próbáltam oldani....
(Valamint ilyen szinten szerencsére még tudom. De innentől jön a tanulás, innen szép nyerni.- A DOS Pascal, Assembler azért ettől messze van. Ott azért régen sikerült még C++ alá is írni rutinokat. Régi szép idők..... Meg Z80 rendszerprogram írása....)
-
biker
nagyúr
válasz
liksoft #21137 üzenetére
a megoldás nem szép, de legalább jó ronda
ha mindenképpen egy ciklusban futást kell írni, és nem lehet hívogatni, akkor a printbe tegyél egy inline javascriptet, amivel a saját div-et írod felül új adattallenne egy alap div
<div id="container"></div>
és a ciklusban kiíratsz egy egy új js-t
document.getElementById("container").innerHTML = "új adat";
Persze ide az új adat helyett a változód adatát illeszted be -
meone
tag
Sziasztok!
Adott egy PostgreSQL adattábla. PHP vel meg tudom nyitni.
Ebből az adattáblából bizonyos celláknak bizonyos adataira van szükségem amit egy másik MySQL-es adatbázisban szeretnék tárolni. Mind a két adatbázis ugyanazon a szerveren fut, de két külön rendszer használja.
A PgSQL adatbázis tábla szerkezete a következő:
fejléc:
received_at, dev_eui, f_cnt, f_port, data, rx_info, object, tx_info,
Adatok:
received_at: 2022-05-30 12:59:26.036791+02
dev_eui: \x0004a30b012b
f_cnt:4252
f_port:2
data:\x00080411ae27
rx_info:[{"name": "GW ID", "rssi": -114, "time": "2022-05-30T10:59:26.036791Z", "loRaSNR": -0.5, "location": {"altitude": 110, "latitude": 47.4311, "longitude": 21.39845}, "uplinkID": "61f19b2d-0427-49fe-bf49-68339d04ff38", "gatewayID": "ac1f09fffe0464eb"}]
object:{"errors": {}, "warnings": {}, "Measure data": {"Temp": 20.52, "Status": 0, "Humidity": 45.26, "AirPressure": 998.9, "BatteryLevel": 3.04}}
tx_info: {"dr": 0, "frequency": 868500000}
Ezeket az értékeket szeretném eltárolni:
received_at,f_cnt,f_port,data,
rx_info: Ez egy JSON tömb ebből csak bizonyos párok kellenek pl.: "rssi": -114
object: Ez is egy JSON tömb ebből is csak bizonyos párok kellenek pl.:"Temp": 20.52,
azf_port
értéke változhat, így azobject
cella tartalma is.Tudna valaki valami séma szerű minta kódot mutatni?
Vagy ötlet ami alapján el induljak ?Előre is köszönöm.
-
Bzozoo
tag
válasz
nevemfel #21135 üzenetére
Próbáltam már, a Stackoverflow-on bemutatott összes lehetséges verzióval.
Replit forráskód
Replit demo
Apache server demo
Látható, hogy a cikluson kívüli echo-t sem írja ki az egész PHP értelmezése végéig.
Ráadásul az Apache-on notice-t is kapok, hogy no buffer, nincs mit flush-olni.
Valamit az Apache-on kéne állítani, ha lehet egyáltalán. -
liksoft
nagyúr
Sziasztok!
Egy cikluson belül íratok ki print utasítással egy státusz értéket. Sajnos most egymás alatti sorokban. Létezik olyan, hogy "ugrás sor elejére" vagy "ugrás egy sorral feljebb"? Mert akkor ugyanott jelenne meg. Számomra a fontos, hogy megy a ciklus, semmi más.
-
Bzozoo
tag
Talán ismered te is a mondást, hogy bug vagy feature attól függ, hogy számodra megfelel e vagy sem.
Ezt az egyszeri ráhívást megérteném, ha minden esetben így lenne, de a videón láthatod, hogy az első esetben az általam elvárt működés történik. (Ekkor a PHP Built-In szerverét használom php -S 0.0.0.0:3001 paranccsal) A másodikban viszont nem. (Apache +PHP-FPM)
Oké lenne, hogy ez egy feature, ha ki lehetne kapcsolni, mert nekem nem kell ez a fajta működés.
A témában olvasgatva a neten sok helyen szintén az ajaxos megoldást ajánlották, de ez tényleg nagyon sokkal több munka. Mennyivel szebb lenne, ha az Apache is beállítható lenne ilyen működésre.
Egyelőre a kódot a Built-In webszerver működteti, amit nem ajánlanak éles production cuccok működtetésére -
coco2
őstag
Amit írsz nem probléma, hanem feature. Webes alkalmazások esetén egyszeri ráhívás van webszerverre, az elkészíti a teljes kimenetet, és a script lefutása után azt küldi vissza a kliensnek.
Ha webes kliens oldalon responsive-ra akarod, használj aszinkron design-t + ajax-ot. Ofc, az nagyon sokkal több munka.
-
Bzozoo
tag
Üdv!
Van egy PHP kódom, ami egy ciklust tartalmaz, ami kiírja a ciklus indexét+1 az aktuális dátumot + időt és azt, hogy OK. Ezt teszi meg 10-szer.
https://replit.com/@ZoltnBata/PHP-WEB-TESZT#tests/timeinterval.php<?php
$date = new DateTime("now", new DateTimeZone("Europe/Budapest"));
for($i=0; $i<10; $i++){
echo ($i + 1) ." - ". $date->format('Y-m-d H:i:s') . " OK <br />";
sleep(1);
}
PHP CLI Built-In server használata esetén minden úgy megy, ahogy szeretném. Szépen tölti be az adatokat a képernyőre a ciklus haladtával, aminek a sebességét sleep funkcióval 1 másodpercre korlátoztam, tehát a 10 cikluskör 10 másodperc alatt fut le
https://php-web-teszt.zoltnbata.repl.co/tests/timeinterval.php
Apache + PHP-FPM vagy FastCGI esetén csak a 10 másodperc ciklusidő után (a ciklus végeztével) írja ki az adatokat a képernyőre.
https://scriptteszt.mysqhost.ml/php/timeinterval/timeinterval.php
Készítettem egy videót is a probléma szemléltetésére
https://www.youtube.com/watch?v=GCbyXrheGLY -
coco2
őstag
Php-nak van beépített open api támogatása, vagy csak a "külső" libek vannak hozzá?
Külső lib definíció gyanánt: bármi olyasmi, ami linux alatt a php csomaggal egybeépítve nem telepíthető, és a php.net-en sincsen dokumentációja.
-
pelyib
tag
Docker image kb egy snapshot az adott allapotrol, ugy mint VCSben egy commit. Docker imaget ugyan ugy lehet "tag"-elni, amire lehet is utana hivatkozni. Amikor letrehozol egy uj verziot a programodbol (masterbe mergelsz) azzal egyutt letrehozol egy uj image is. Ez az uj bekerul egy registry (publikus: hub.docker.com, de tobb selfhosted megoldas is van a piacon) nevu taroloba, ahonnan pedig a production szepen letoltni es levaltja a korabbi verziot.
Fejlesztoi kornyezet picit mas. abban most nem mennek bele, de ott ezt az egesz kort ki lehet kerulni.
Ami peldat irtal az Dockerben 3-4 service-t (containert) jelent: webszerver, php, db. Ezt "docker-compose"-l lehet nagyon szepen megoldani.
Az apache és mysql konfigja ugyan ezek miatt szintén eltérő lehet gépenként.
Ez csak annyit jelent, h az adott imaget mas config fajlt csatolva (volume) inditod.Ajanlom a Docker topic, ott sokkal tobb segitseget kapsz nalam jobban hozzaertektol.
-
coco2
őstag
válasz
pelyib #21127 üzenetére
Dockernek nekimenni rég óta tervezek, de az a readonly dolog nem fér a fejembe. Aztán ha a talált blogokban marhaságot olvastam valami IQbajnoktól, szóljatok rám.
Szóval website-ra kell egy linux, lenne pár cron script, egy apache a saját konfigjával, egy mysql a saját konfigjával, kell legalább +1 db-t építeni a mysql alatt, aztán a webes scriptek, és a hozzájuk tartozó képi anyagok. Ezek közül a cron scriptek némelyikét lehet, hogy át kell írni, mert nem egyforma gépeken futna, és gyengébb gépen a scriptek némelyikét lekapcsolnám, vagy perces ütemezés helyett 5 percenként futna. Az apache és mysql konfigja ugyan ezek miatt szintén eltérő lehet gépenként. És a webscriptek meg média anyagok is olyanok, hogy fejlesztés közben folyamatosan változnának. Mindezek nem úgy tűnnek nekem, hogy egy immutable image különösebben sokat tudna nekem segíteni deploy-ban. Ha van egy svn kliensem a távoli gépeken, hogy a szerverről automatán húzogassa lefele a megváltozott stuffot cron scriptből, nekem kényelmesebbnek tűnik. De ha nagyon benéztem volna valamit a docker használati technikájában, vagy extrém butaságot olvastam volna a korlátokról, szólj rám légyszíves. A dockerről én csak annyit tudok eddig, amit blogokban találtam.
-
pelyib
tag
Docker ismerete igencsak erteknovelo a piacon manapsag (ha nem alap mar). De ha csak a sajat fejlesztoi kornyezetedre hasznalod abbol is sokat lehet profitalni, szoval erdemes megtanulni.
Egy VPS berles nem olyan draga mar joideje, 5-6EUR/ho. Tobb szolgaltato is ora alapon szamlaz, szoval ha csak 10 orat hasznalod, akkor annyit fizetsz. Pl DigitalOcean is ilyen.
De pl egy eleg olcso: https://www.arubacloud.hu/vps/virtualis-privat-szerver-ajanlat-tipusok.aspxHeroku tutorial: https://devcenter.heroku.com/articles/getting-started-with-php
With MySQL: https://www.doabledanny.com/Deploy-PHP-And-MySQL-to-Heroku (alap app beallitast kicsit mashogy csinalja) -
bhonti
aktív tag
December óta megvan 3 VPS+1 block volume osztott tárhelynek, azóta valóban 0 Ft-ba került. Az előfordul, hogy nincs valahol Ampere ("nagy") gép, mert adott helyen elfogy, akkor ki kell várni amíg újra létre tudsz hozni magadnak... (ingyen van, valami nem tökéletes csak van benne) vagy nem ott, ahol akarod. Vagy van akkor az AMD (kicsi), egyik csak van.) Amúgy annakidején a kreditből se fogyott gyakorlatilag semmi. Nem kell semmi nagy extra nekem...
-
coco2
őstag
válasz
bhonti #21122 üzenetére
Oké, megnéztem.
Elkezdte azzal, hogy "örökre ingyenes". Mentem tovább a weboldalon, és folytatta azzal, hogy de az elején csak félig ingyenes az időszak, de ne aggódjak, mert arra lesz 300 usd creditem. És ott semmi többet, reklám vége. Van regisztráció, ha érdekel.
A regisztráció bekérte az adataimat. Hitel kártyát is. Aztán lehúzott egy euróra. De ne aggódjak, mert ez "csak ellenőrzés". Már nem "örökre ingyenes, és ez még csak a regisztráció. _Miután_ azt megtette, az orrom elé bökött egy szerződést, hogy figyi, ha túllépsz bizonyos korlátokat, az mind fizetésköteles lesz. És azt vagy elfogadom, vagy ott hagyom abba a regisztrációt. Az volt amögött a pipálandó link mögött, amit ugye soha senki nem olvas el. Arra nem találtam utalást, hogy bármi technikai segítségem lenne majd előre korlátozni mindent, ha nem akarok úgy járni, hogy hó végén kapok egy 135 millió huf-os számlát, mert annyi volt csak a hálózat használatának a díja.
Befejeztem a regisztrációt, mert mi egyebet tehettem volna. Mire bejelentkeztem, azt az ingyenes VM-et éppen nem látom sehol. Egy figyelmeztetést látok, hogy az acc-om ellenőrzés alatt, szóval pár feature nem érhető el. Amit eddig látok, a stílusuk abszolút nem bizalomgerjesztő.
Lehetséges lenne, hogy az ingyenes lamp tárhelyek mind megszűntek, nincs többé egy sem
-
coco2
őstag
válasz
pelyib #21120 üzenetére
A tippet köszönöm. Egyenlőre nem sikeredik eligazodnom rajta, mit kínálnak. Nyers vashoz vagyok szokva, a git deploy-t még nem használtam. Dockert se. Reklám blogokat találok róla, de azokkal nem sokra megyek.
Valami gyakorlati érzékkel megáldott szájbarágós blog lenne jó, hogyan megy egy "kitelepítés". Lépésről lépésre. Vagyok win 10-es gépen, felraktam rá wamp csomagot. Apache, php, mysql használatban vannak. Az app init-jéhez a db motoron létre kellett hozni a db-t: egy szem script van, ami lefut phpmyadmin konzolján, és létrehoz mindent egészben. (Ofc a db-nek írhatónak kell lennie, folyamatosan írási / átírási műveletek érkeznek majd.) Az apache www mappája alá bemásolok file-okat, a website azzal telepítve van. És fut az app helyi gépen. Hogyan néznek ki mindezek a telepítési lépések a heroku tárhelyén?
-
coco2
őstag
Lehet itt egy kicsit off-topic leszek, de nem találtam jobb helyet.
Kellene valamilyen free hosting lehetőség mini php alkalmazásnak. Épp csak publikus bemutatásra. Létezik bárhol tényleg free php / mysql hosting? Lehet erősen méret, teljesítmény és időkorlátos is. 5 megányi tárhely pár napra bőven elég.
Amiket google tallált, kicsit alaposabban megnézve reklám mondja free, konkrét oldal mondja, nem free. Vagy éppen free, csak kössek 2 éves szerződést, és az első hónap free. Meg hasonló "free" viccek. Mindegyik olyan, vagy csak én voltam béna megtalálni a normálisat?
-
coco2
őstag
Sziasztok!
Van egy swagger.yaml file-om, ami webes api-t dokumentál. Létezik valami kód generátor tool, ami abból a file-ból website sablont gyárt (php 7+) ? Ha nincs annyira kényelmes tool, mi tud a legtöbb gépelési munkát spórolni?
A tanácsokat köszönöm.
-
válasz
supercow #21111 üzenetére
Köszönöm, igazából kb 300 rekordról van szó, így ezt talán még elbírja az egyébként tetszetős megoldás.
Lenne még egy kérdésem, jó lenne valami útbaigazítás hogyan lehet megoldani.
Van 2 adatbázis (mysql) tábla egy : Sok kapcsolattal, egy közös kulccsal ( id = id_2 )
A PHP ugye asszociatív tömbökbe teszi az sql lekérdezés eredményt, tehát 2 asszociatív tömböt kell összehasonlítani, egyikben úgymond van az index és a megjeleníteni kívánt 'főadat' a másik tömbben pedig a hozzá tartozó tulajdonságok. Ez egy szabadon szerkeszthető rész az alkalmazásban, annyit lehet bizonyosra venni hogy a két tábla között az id a kulcs és egy:több kapcsolat áll fenn. (semmi más adat nem konstans, jó lett volna erre pl egy mysql pivot tábla készítése hogy egy nagy tömbben legyenek az adatok de ha jól gondoltam emiatt nem lehet ezt, illetve bonyolultabb a megoldás).A kiíratás egységenként lenne tehát külön <div> ekben kb az alábbi módon vázlatolva:
-
supercow
őstag
Ez a régi cikk azt mondja hogy ha sok sorod van a táblában, akkor jelentősen lassulhat a SELECT az
ORDER BY RAND()
használatakor.
Illetve mutat alternatív megoldásokat amivel először egyunique id
oszlopot lekérdezve kiszedi a random id-t és azzal a táblából a sort. -
nevemfel
senior tag
válasz
sztanozs #21108 üzenetére
password_hash + password_verify. Nem kell se salt, se MD5, se SHA, elintézi belül.
-
nevemfel
senior tag
válasz
sztanozs #21105 üzenetére
Jelenleg ott tartunk, hogy prepared statement sincs a kódban, úgyhogy talán nem az a legnagyobb probléma, hogy nem elég erős a hash függvény. Ha nem plaintextben lesznek eltárolva a jelszavak, az már jó irány.
Egyébként én inkább a php password hash függvényeit ajánlanám. Nagyon egyszerű használni őket, és elég biztonságosak. Lényegében a pasword_hash és a password_verify függvényt kell használni, és nagyjából ennyi.
-
Mike
veterán
válasz
Atos23 #21102 üzenetére
md5-özd le a passwordot, sqlben is van md5 függvény, és a phpban is.
utána ezt a két stringet hasonlítod összea titkosított kommunikáció a https
illetve lehet még szórakozni a SESSIOn-ökkel, ezeknek olvass utánaa php-nál az a lényeg, hogy mindegyik önálló oldal, és nem tudja mit csinál a másik, csak a session tároló sütit éri el (a felszin nem, tehát javascript nem fér hozzá), de az is csak addig mig a a böngésző nyitva van.
tehát a login.php beléptet, sessionbe beteszed a belépett user azonosítóját (itt se az legyen hogy józsi, hanem valamilyen 16-32 karakteres kulcs, pl UUID (sql-ben: UUID() funkció generál neked egyet) amit adatbázisban tárolsz, és utána a másik php-ban első dolgod megnézni, hogy ez az azonosító benne van az adatbázisban, ha nincs nem csinálsz semmit -
pelyib
tag
válasz
Atos23 #21102 üzenetére
titkosított jelszó tárolás
a plaintext jelszot "sozod" (salt) es hasheled (linkelt function mindkettot megcsinalja), igy egy random karaktersort fogsz kapni, amit még mindig illik a leheto legjobban vedeni, es nem mutogatni barkinek.
üzemeltetés során a titkosított kommunikáció
Az nem a https akar lenni? -
Atos23
senior tag
válasz
Atos23 #21101 üzenetére
Van egy olyan feladatrész, amely szerint az adatbázis szerkesztésére használt admin felhasználói nevet és jeszót az adatbázisban kell tárolni, de szükséges a titkosított jelszó tárolás, és az üzemeltetés során a titkosított kommunikáció.
Gondolom itt arról van szó, hogy ha futtatok egy selectet az adattáblára, akkor a jelszó ne legyen megjeleníthető.
Ez hogy kivitelezhető a legegyszerűbben? MySQL Workbenchet használunk.
Új hozzászólás Aktív témák
Hirdetés
- Ez már a középkategória: teszten a GeForce RTX 5070
- Milyen billentyűzetet vegyek?
- EAFC 25
- Vicces képek
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- OLED TV topic
- Kínai és egyéb olcsó órák topikja
- Kazy Computers - Fehérvár - Megbízható?
- Szombathely és környéke adok-veszek-beszélgetek
- BestBuy topik
- További aktív témák...
- DELL PowerEdge R730xd 12LFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H330 RAID v ZFS
- Bomba ár! HP EliteBook 840 G2 - i5-5GEN I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
- Phanteks NV5 MK2 White (PH-NV523TG DMW02)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged