- Honor 200 Pro - mobilportré
- Keretmentesít a Galaxy S25 FE
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Csíkszélességben verné az Exynos 2600 a Snapdragon 8 Elite 2-t
- One mobilszolgáltatások
- iPhone topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Samsung Galaxy A54 - türelemjáték
- Honor 200 - kétszázért pont jó lenne
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
Új hozzászólás Aktív témák
-
coco2
őstag
Még jobb, ha van előre kész stuff.
Gondolom, regisztráció, és termék vásárlás mindegyikben támogatott. A felsoroltak közól van valamelyiknek felhasználó-reatív üzenőfala is?
A woocommerce fizetős. Azt lehúznám a listáról. A "többi" alatt gondolom a kevésbé stabil cuccokat érted. Akkor azokat sem erőltetem. Presta, Opencart, Magento - melyik a legjobban dokumentált?
-
coco2
őstag
Sziasztok!
Általában távol áll tőlem, hogy ollózni akarjak, de most gyártanom kellene egy website-ot, amiről előre tudom, hogy el van átkozva, szóval csak letudni akarom a lehető legkevesebb macerával. Tanácsért jöttem, melyik framework doksiját kezdjem el olvasgatni.
A website szolgáltatást árulna. Kell felhasználói regisztráció, kell valami modul pénzek befizetésére, és kell személyre szóló hírek (minden felhasználónak a sajátja).
Az igények alapján mi a legolajozottabb stuff ilyesmire? Az sem érdekel, ha egész operációs rendszer méretű, ha cserébe gyorsabban van kész az eredmény.
A tippeket előre is köszönöm.
-
coco2
őstag
Sziasztok!
Framework kérdésem lenne. Én azokkal mindig hadilábon állok.
Van-e a jelenben bármi cucc, amire azt mondják, hogy sok 100 ezres (esetleg millió+) felhasználói tábor kiszolgálásához javasolják? Olyasmi kellene, ami eleve fürtre született, és nem egy szem gépre. Létezik már valami egészben, vagy a do it yourself a legközelebbi?
A tippeket köszönöm.
-
coco2
őstag
válasz
polymorphin #21238 üzenetére
>Elolvasom a dokumentaciot
Ha van olyan. Spoiler: nincs olyan.Amit írsz, az egy documentation first fejlesztési folyamatban tudna működni, de a jelenkor fancy micsodái közül semmi sincsen olyan igényességgel dokumentálva. Egy részletesebben magyarázott cookbook a maximum dokumentációs minőség, ami könyvek / web blogok formájában fellelhető, és azon túl semmi.
-
coco2
őstag
Már semmiért sem. Elgondolkodtam rajta, merre megy a világ megy ezekkel a laravel meg hasonló framework-ökkel. Hátha tudnak valamit. De beleástam magam, és azt találtam, nem tudnak semmit. Üres a varázsló bácsi cilindere. Csak az illúzió van. Valakiknek jó lehet ügyfelet, vagy főnököt, vagy akárkit hitegetni, de ha objektíve egy feladatot akarok stabilan megoldani saját magamnak, akkor az a sok hóbelebanc konkrétan semmire kell. Szóval mindenki másnak jó szórakozást hozzá. Én eleresztettem.
-
coco2
őstag
Sziasztok!
Framework építési kérdés php / apache környezet (lamp). Van a post kérés, ami a linkelt oldalról így néz ki:
POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27field1=value1&field2=value2
Kellene nekem valami - talán rewrite rule - ami azokat az adatokat mind kipakolja változókba. A lényeg, hogy ne a test oldal kapjon behívást, hanem valami más (akár az index oldal), ahol egyesével megkapom, hogy post hívás, hogy a test oldal, hogy http 1.1, hogy van payload, és mi a payload. Kell minden
Rewrite rule-okból nem vagyok éppen perfect, valami jól sikerült blognak örülnék róla. Vagy ha nem rewrite modul foglalkozik vele, akkor mi? Mármint a payload az elkülöníthető, de hogy a test oldal ne kapjon behívást, arról valaminek biztosan gondoskodnia kell.
Összességében, valami olvasni valónak örülnék, mit kezdjek a problémával nyers apache / php környezetben. Előre is köszönöm.
-
coco2
őstag
Van két eset.
Az egyikben egy class rendereli a teljes html-t, és adatbegyűjtés után az a string kerül a kimenetre. Előnye, hogy karbantartható / ollózható kód, hátránya, hogy lassabb, mint gányolni. Php 5 óta ez a "normális", főleg, mert mostanra a szakember munkaóra drágább, mint a szerver kapacitás.
A másik eset a html-be beletűzdelni a php darabokat. Előnye, hogy gyorsabb, mint a másik (néhol legalább is), hátránya, hogy szinte képtelenség karbantartani, és mindenféle támadási felülete van, amit jó szerencsét toldozni-foltozni egy életen át. Php 5 idők előtt ez volt az általános.
Hogy te melyiket válaszd? Szíved joga.
-
coco2
őstag
válasz
Bzozoo #21207 üzenetére
@supercow:
Hmm, ez furcsa. Pár hónapja amazonon rákotortam a laravel-re, csak olasz meg francia könyvek voltak, most meg angolokat is talál több éves kiadási dátummal. A fene érti. Elismerem az én tévedésemnek.@Bzozoo:
Ami "hamar elavul", az sosem volt kiforrott. A koncepcionális tévedésre épített eszközök jellemzője, hogy el tudnak avulni minden hónapban / fél évben. Képtelenség egy átgondolatlanságot a visszamenőleges kompatibilitás megtartásának elve szerint fejleszteni. És az pontosan a dokumentáláskor derül ki. Szó nincsen róla, hogy ki akarnám dobni a digitális dokumentálás vívmányait. Épp csak voltam olyan szituban, amikor egy 1-2 órás józan paraszti ésszel magyarázás eredményét bolondbiztos technológiai utasításba kellett öntenem, és simán vagy fél évig tartott. Akkor esett le a tantusz, hogy az "elmondani" és a "leírni" között alkalmasint sok ezerszeres szorzó a különbség. Példának okáért a részletek logikai ellentmondásaival "elmondás" során tipikusan nem lehet összetalálkozni. De amikor valaki elkezdi utolsó szálig kifésülni a gondolatokat, akkor bizony beleakad az összes gubancba. Na az a különbség egy pár perces YT videó, és egy 500 oldalas könyv között. És csodálkozom rajta, hogy itt még senki sem találkozott össze a jelenséggel, mert más magyarázat aligha van rá, hogy senki sem érti. -
coco2
őstag
válasz
polymorphin #21200 üzenetére
Igen, shell exec jelenleg az összes tippem, megírom külön C-ben, és mellé rakom a webszervernek. De gondoltam, hátha lehet valami hasonlót csinálni, mint dotnet alatt a dll import.
A "könyvet senki nem használ"-t illetően talán próbálj meg általánosítás helyett csak a magad nevében beszélni. A dokumentációs részletesség és figyelem egy közösség által ellenőrizhető és időben stabil tény. A privát véleményünk ahhoz képest egy szeszélyes valami. Megbízhatatlan.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
coco2
őstag
Facebook Login, user_photos permission
Aki fejlesztőként már futott vele köröket, egy jelzést had kérjek tőle. Itt kissé off, szóval inkább privátban a többit.
-
coco2
őstag
Időnként van ám a php-ban, amit utálok.
var_dump(json_encode(array_diff(array(0,1), array(1))));
A kimenete
[0]
var_dump(json_encode(array_diff(array(0,1), array(0))));
A kimenete
{"1":1}
(nem tömb, hanem objektum, hogy a fene vinné el) -
coco2
őstag
válasz
polymorphin #20521 üzenetére
Azok a kulcsok session id-k egy php alkalmazásban, és a session-ben remekül megvan minden adat. Php scriptbe logokat pakoltam adatot kinyerni, és azok visszaadták az adatot. Azokra a kulcsokra adtam én get-et, és azokra a kulcsokra írt vissza (nil)-t a redis-cli.
Mostanra eleresztettem. Bárki is kínálgatta anno nekem itt a redis-t, üzenem neki, hogy egy marketing-felfújt bughalmaz. Session-tárolónak felesben elmegy, de szerintem a jövőben inkább visszatérek a memory disk-re, és file alapú session tárolóra. Az legalább kiforrott, és bugmentes. A redis nem az.
-
coco2
őstag
válasz
polymorphin #20519 üzenetére
Be-copy-paste-eltem a kulcsot is "get <kulcs>" és ugyan úgy (nil) visszaírást kaptam.
Halom sok logot hegesztettem végül a php scriptbe orvosolni a problémát.
-
coco2
őstag
Redisnek nincs saját topic-ja, de talán itt tudni fogja valaki.
Redis alatt van(nak) kulcsok. Ki szeretném íratni, milyen tartalom tartozik hozzájuk, de csak (nil) jön vissza "mget *"-ra. Apache/php redis alatt tárolja a session-öket, nagy halom anyagnak kell a kulcshoz tartoznia, ki van csukva, hogy semmi se legyen benne. Redis doksi olyan barátságtalan, hogy nem találom az okát, mit néztem el.
Ha bármit számít a háttér, session hibám van, és nyomozom az okát. Elvileg session változókra kiadott unset()-ek után azoknak nem kellene létezniük, és mégis léteznek. Hogy miért, még nem tudom. Valami nagyon alapvető dolgot elnéztem a redis-re bízott session kezelést illetően. Ha véletlenül valaki csípőből tudja, szóljon rám!
Köszönöm.
-
coco2
őstag
Valami tapasztalt tanácsnak örülnék session timerek beállítására.
A szerver a session létrehozásakor felvés egy időkorlátot session változóba. Folyamatosan ellenőrzi a session használatakor. Legkésőbb 1 nap múlva a session garantáltan lesz kinyírva. De az az 1 nap egy végső korlát, amit nem kellene elérni. Extra cookie-kat / local storage időpont felvésést nem szívesen használnék. Jó lenne egyedül session cookie-val oldani meg.
Van kettő timer php.ini-ben. Az egyik a szerver oldali session storage timere (session.gc_maxlifetime), a másik a cookie file timere (session.cookie_lifetime), ami kliens oldalra kerül.
A cél az lenne, hogy a felhasználónak naponta legalább egyszer újra kelljen loginolnia. Alkalmasint ha naponta 2-3 újra loginol, az még nem nagy gáz. Sokkal többször ne kelljen neki olyat tennie.
Van valakinek ilyen esetre kitapasztalt megszokása, hány órára érdemes állítani azokat a timereket?
-
coco2
őstag
Phpmyadmin topic évtizednél régebbi. Inkább írom ide. Php myadmin hibába futottam. Ezt kapom képernyőre:
Notice in ./libraries/classes/Display/Results.php#4468
Trying to access array offset on value of type null
Backtrace
./libraries/classes/Display/Results.php#4175: PhpMyAdmin\Display\Results->_getSortedColumnMessage(
,
string '`autoid`',
)
./libraries/classes/Sql.php#1759: PhpMyAdmin\Display\Results->getTable(
,
array,
array,
boolean true,
)
./libraries/classes/Sql.php#1533: PhpMyAdmin\Sql->getHtmlForSqlQueryResultsTable(
<class:phpmyadmin\display\results>,
string './themes/pmahomme/img/',
NULL,
array,
boolean false,
integer 0,
integer 0,
boolean true,
,
array,
boolean true,
)
./libraries/classes/Sql.php#2260: PhpMyAdmin\Sql->getQueryResponseForNoResultsReturned(
array,
string 'kittenstars',
string 'user_input',
NULL,
integer 0,
<class:phpmyadmin\display\results>,
NULL,
string './themes/pmahomme/img/',
NULL,
,
string 'SELECT * FROM `user_input` ORDER BY `autoid` ASC ',
NULL,
)
./libraries/classes/Sql.php#2137: PhpMyAdmin\Sql->executeQueryAndGetQueryResponse(
array,
boolean true,
string 'kittenstars',
string 'user_input',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `user_input` ORDER BY `autoid` ASC ',
NULL,
NULL,
)
./sql.php#220: PhpMyAdmin\Sql->executeQueryAndSendQueryResponse(
array,
boolean true,
string 'kittenstars',
string 'user_input',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `user_input`',
NULL,
NULL,
)</class:phpmyadmin\display\results></class:phpmyadmin\display\results>
Database server:
Server: Localhost via UNIX socket
Server type: MySQL
Server version: 8.0.23-0ubuntu0.20.04.1 - (Ubuntu)
Protocol version: 10
Web server:
Apache/2.4.41 (Ubuntu)
Database client version: libmysql - mysqlnd 7.4.3
phpMyAdmin:
Version information: 4.9.5deb2
Az a user_input egy memória tábla. Furcsa, hogy éppen arra miért panaszkodik, a többire meg miért nem. Szaladt bele valaki hasonlóba? Tisztán a phpmyadmin a gagyi, vagy tényleg sáros a mysql is valamivel?
-
coco2
őstag
Php-ben a
foreach()
garantáltan sorrend helyesen megy végig a tömb elemein? Tuti biztos minden verzióban ugyan az, mintfor($i=0; $i< count($tomb); $i++) fv($tomb[$i]);
? -
coco2
őstag
A php a szerver oldali szkript, ami legyártja neked stringben a html oldalt, és azt küldi le kliens oldalra. Amit a böngészőben látsz megjelenítve, az egy hosszú bla-bla szöveg html-ként értelmezve. Bármit is tölt be az a frame, azt te írtad elő neki, miközben pakoltad össze a dokumentumot. Vagy beleírtad közvetlenül, vagy javascript formájában, esetleg forrás címet írtál bele, ahonnét kérdezősködjön, vagy bármi.
Szóval ha php-d van és arra vagy kíváncsi, mit művelt a kliens oldal, esetleg nézd meg, hogy mire utasítottad.
-
coco2
őstag
válasz
sztanozs #20483 üzenetére
Bekoppantottam az általad idézett kódpéldát és kicseréltem az $input stringet a #20476-ban megadott-ra. Ezt dobta ki:
&fields=privacy\u00252Cname\u00252Clink&limit=1
ehelyett:&fields=privacy%2Cname%2Clink&limit=1
A kódpélda nem működik. Próbáld ki, és meglátod. Azért van rá szükség.
-
coco2
őstag
Eddig a legegyszerűbb, amit találtam:
iconv("UTF-16", "UTF-8", hex2bin("0025"))
->%
Ez legalább támogatott mód utf16 átalakítására, ami nem gányolás. De ehhez szét kell nyiszogálnom a bemeneti stringet darabokra, és cserélgetnem benne.Működni éppen működik, de ha tud valaki egyszerűbb megoldást bemenetet (#20476) egy lépésben dolgozni fel, segítség lenne tisztább kódot gyártani. Kicsit furcsa, hogy a php 7-8 henceg mindenfélével, és akkor egy mezei utf16 kódolás már kifog rajta?
-
coco2
őstag
Összetalálkoztam ilyesmi url részlettel:
&fields=privacy\u00252Cname\u00252Clink&limit=1
Hosszú url pici darabja. Azok ott utf 16 karakterek benne. Kellene ilyesmi végeredmény:
&fields=privacy%2Cname%2Clink&limit=1
Például ez az oldal csinál hasonlót.
Van rá valami egyszerűbb mód php-ban mint bináris alapon byte-onként játszadozni vele?
-
coco2
őstag
Általában nem használok debuggereket, de most nagyon hasznos segítség lenne időben.
Win10-es gépre kellene valami handy php cli debugger (grafikus). Google feldobál párat, egyiket sem ismerem, útmutató jó lenne.
Alap szolgáltatások elégségesek, de legalább azok kellenének hibamentesen (ha valamelyik debugger rigolyás is pár dologra, legalább ne az alap dolgok legyenek hibásak). A forrás halom sok file-t húz be helyben, sok darabban van, tudnia kell mappában megtalálnia őket. A forrás hajt végre https letöltést netről és dolgozik helyben lévő mysql db-ből / db-be. Kell lépésenkénti végrehajtás, végrehajtás töréspontig, regisztrált változók listája, és értékek kijelzése. Néhány tömbben több mélységű struktúra van, örülnék normális gui-nak áttekinthető kijelzéssel.
Melyiket nézzem a debuggerek közül?
-
-
coco2
őstag
válasz
pelyib #20467 üzenetére
A linkelt oldalon nem másabb a példa, mint amit használok. 5.x php alatt még minden okés, 7.x alatt ugyan az a kód ugyan arra a feladatra nem működik. Az az ssl tiltás security hole, abból nem kérek. Php ini változók rendben. Azt a mini kódot behajítottam a szerveren php-ba, a kimenete rendben (sor tördeltem):
openssl: yes
http wrapper: yes
https wrapper: yes
wrappers: array (
0 => 'https', 1 => 'ftps', 2 => 'compress.zlib', 3 => 'php',
4 => 'file', 5 => 'glob', 6 => 'data', 7 => 'http', 8 => 'ftp',
9 => 'compress.bzip2', 10 => 'phar', 11 => 'zip', )
Kicsit kotorásztam a curl körül, egyenlőre nem tűnik problémamentes kerülőútnak. Szóval most gyűröm a file_get_contents hibakeresését meg a curl doksikat is.
Ha véletlenül tud valaki valahol egy nagyon tutin összeszedett migrációs doksit php 5->7 file_get_contents() problémákkal, örülnék annak is.
A curl-el kapcsolatos problémám lásd fentebb.
A guzzle-t a magam részéről nem soroltam a megbízhatóan kiforrott libek közé. Az ilyen projectek miatt az ifjú-titán-flame szokott lenni, aztán egyik pillanatról a másikra elhagyatottá válik, és kukás lesz minden, amit arra építettek, és jelen esetben túl sokat kellene rá építenem. Nem kérek ilyesmiből, bocsi. Ha 10 év múlva még mindig létezik a project, majd akkor megnézem.
-
coco2
őstag
válasz
SUPREME7 #20466 üzenetére
Nem találtam lehetőséget ezekre:
-Bináris file letöltés változóba. Csak filesystem-en keresztüli példákat találtam. Nem tudom azokat használni. Változóba kell a bináris tartalom.
-Teljes header visszaadása string / array formában. Nekem a header-ben csomagolt változók jönnek vissza. Azokra szükségem van.
-
coco2
őstag
Utána kotortam kicsit a curl-nek. Temérdek sok beállítás, amikről nem találom a default értékeket. Ha mindet állítgatom, kilométer hosszú lesz
Példák amiket találok egyik sem jelenkori php verzió.
Le kellene szedni https lapot (domain, oldal, halom sok paraméter) + header-t. Ha valaki tud rá jó példa blogot, url-nek örülnék.
Köszönöm
-
coco2
őstag
válasz
supercow #20463 üzenetére
Ellenőriztem. Be van kapcsolva. Php 7.4 és default On. A kódrészletet wamp3 alatt teszteltem, onnét copy / paste át 7.4 alá. 5-ös alatt nem volt baja. Ellenőriztem az url-t, amit a 7.4 script megkap. Bekoppantottam böngészőbe. Normál lefutott.
Valami beállítási nyavaja lesz a háttérben. Utána kotrok a curl-nek, hátha kevesebbet kell vele erőlködni.
-
coco2
őstag
file_get_contents()-hez hogyan szokás részletes hiba információt beszerezni?
Kódrészlet:
$t_opt= array( "http"=>array("method"=>"GET") );
$t_context= stream_context_create($t_opt);
$http_result= file_get_contents($t_url, false, $t_context);
$http_header_save= $http_response_header;
var_dump($http_response_header);
Kimenete:
NULL
A fenti kódrészlet egy framework aljában van. Http get hívást készítek elő, ráhívok az url-re, és tapasztalom a problémát. Elvileg vissza kellene adjon header-t is. Ha mást nem 200/ok-ot. De null van ott. Jó lenne valahonnét részletes hibakódot vadászni, hogy kutakodhassak, mi történt. Hogyan szokás azt csinálni?
Előre is köszönöm.
-
coco2
őstag
GET paraméter átvételen töröm a buksit. Van egy ilyesmi formázott behívásom (széttagoltam space-ekkel, hogy átláthatóbb legyen):
http://enyem.hu/lap.php ? param1=alma & param2=citrom # _=_
Azzal az anchor izével a legvégén tudok valamit kezdeni? Érzékelni tudom azt valahol / valahogy?
-
coco2
őstag
Notepaddal készül sok ezer soros php scriptekre van valami szintaktikai ellenőrző? Lehetőleg valami intelligensebb, mint pl a 8921. sorra (a script legvége) azt mondani, hogy oda hiányzik egy pontosvessző.
-
coco2
őstag
válasz
Bzozoo #20423 üzenetére
Ha jól értem, a session kezelése az, ami nem tiszta. Az egyik probléma tipikusan az szokott lenni kezdőkkel, hogy csak annyit látnak "php", és nem azt, hogy ott egy apache szerver, annak van konfigja (port, virtual szerver, defaul root file), aztán a php az apache alá van telepítve, annak is van egy konfigja (csomó beállítás session-re), és az egy nagy csomó mechanizmus, ami mind végig zajlik, még mielőtt az index.php scripted elindulna.
Vélhetőleg nem a megfelelő blogokat olvasod a kérdésben, linkelek olvasnivalót én:
https://www.php.net/manual/en/session.configuration.phpAzon az oldalon nagy halom php.ini változót találsz a default értékeikkel, aztán egyesével a hatásaik leírásai. Végig kellene olvasni. Mókás kérdésekre találhatod ott meg a választ.
"Ez az amire nem jöttem rá még hogy kell."
session_id("most_éppen_itt_repül_a_kismadár_a_session_id");
session_start();Ha azt beírod, fixen mindig az "most_éppen_itt_repül_a_kismadár_a_session_id" session fog futni. Ha csak ennyit írsz be:
session_start();
Akkor a függvény leírásánál leírt események fognak történni: https://www.php.net/manual/en/function.session-start.php
Ha bármi mást olvastál, lehetségesen nem a legjobb minőségű blogokat találtad. A php.net-et kellene olvasgatni a hozzászólásokkal együtt. Temérdek sok példát is találsz ott a függvények használatára.
"De jobb lenne tényleg csak egy sessionID-t átadni frontendre, a többit az elindított sessionból visszahozni, ez megy is abban az esetben, ha egy domainen van a front és a backend."
A session_id() függvény pont arra van, hogy bármilyen domain-ról rá tudj indítani a kérdéses session-re. A kliens oldali xhr például nem küld session cookie-t. Küldhet viszont session id-t post vagy get üzenet formájában (én a post-ot szeretem).
-
coco2
őstag
válasz
Bzozoo #20420 üzenetére
"Más domainen nem érvényes a session cookie"
Igen mert az olyat cross site request forgery-nek hívják, és hálózati támadásként van számon tartva. Nem mintha xhr-en keresztül bármi megtiltaná neked, hogy az átdobott session id-t elindítsd az xhr kiszolgálóban. Php.net-en kukucs session_id() és session_start() függvényekre.Apropó kliens oldalra kipakolni mindent nem éppen biztonságtechnikai bravúr, ha csak nem a negatív rekordok egyikét akarod megdönteni. Maximum egy darab session token.
-
coco2
őstag
-
coco2
őstag
válasz
Bzozoo #20408 üzenetére
Egy api szerverben igazán semmi nincs, amit általánosság jelleggel bonyolítani lehetne. Kliens oldalon összeraksz egy json-t, és post felküldöd a szervernek. Ott szétkapod, használod, json megy vissza. Ha általános cuccot akarsz, felejtsd el a get paramétereket, meg a mindenféle oldal címeket, mert csak megbánás lesz belőle utólag.
A magam részéről csiszolgatok éppen egy projectet, ami második körben igényelni fog nagy teljesítményű api szervert. Emberi számítás szerint ansi c-ben fogom írni. Egyenlőre nem terveztem bármit publikálni belőle, de nem kizárt, hogy a végén open source project-ként végzi.
-
coco2
őstag
válasz
Bzozoo #20403 üzenetére
Ha a kapcsolatod session alapú (felhasználó rendszeresen lapot töltöget), akkor a server oldalán a session-t nem igazán tudod megkerülni. Api helyett egy mezei form pont elég, a submit gomb beküldi a formot, a session-be rögzíted a user bejelentkezési állapotát.
Ha spa-t hegesztesz, a hagyományos session-t elhagyhatod - ha nagyon akarod - de lévén tokenekkel operálni sem sokkal másabb, nem biztos, hogy jobban jársz. Nagyobb szerver fürtön már megkerülhetetlen a session saját kézbe vétele. Egészen addig kényelmesebb a $_SESSION[]. Az xhr-ben ráhívsz a session_id()-ra a session_start() előtt. Ha azt teljesen saját kézbe vennéd, akkor is csak ugyan az a móka: van egy text tokened, és valahonnét háttértárolóról hívod / mented a user-hez tartozó dolgokat. Konkrétan a php saját session kezelését átveheted, de maga a koncepció aligha kikerülhető webes alkalmazásokban. Talán ha többet írsz az erőlködés okáról, érthetőbb, hogy mit is szeretnél.
-
coco2
őstag
Amikor a kimeneti stinget adod, akár bináris karakter sorozatot kiküldhetsz. Utf-8 stringből azt küldesz ki, amit csak akarsz. Írhatsz alulra kerülő idézőjelet, ha az a kedvenced. Workaround gyanánt az a lehetőséged biztosan adott.
Hogy css automatán átformázza-e, arra a részre nem reagálnék - én magam sosem találkoztam azzal a problémával.
-
coco2
őstag
Van valakinek a keze alatt apache szerver "normál" üzemben haproxy tls terminátor mögött? Rewrite rule-okat keresgélek rá, hogyan lesz a kívülről érkező "https:"-ből "http:" mire az apache-hoz érkezik.
-
coco2
őstag
Mostanában építettem dev szervert, szóval képben vagyok az apache-ról. Az ssl-el én is megszenvedtem kicsit. Normálisan csak cert bottal szed le ssl-t, a cert botot meg utólag el kell távolítani, mert egy privát package repot is behúz az install források közé, ahonnét nem túl bizalomgerjesztő dolgok jönnek utána. Szóval ja, kicsit macera, ha az ember le nem dokumentálja alaposan első alkalommal, hogy utána biztos észben tudja tartani. Éppen ránéztem a jegyzeteimre, kb 100 sornyi csak az apache rész az ssl leírása nélkül, de a PPA tisztítással (az ssl certbot használata rendesen dokumentálva van netes blogban). A magam részéről végigszenvedtem, és ledokumentáltam mindent. És én nem 15 éve vagyok linuxos, hanem jó közelítéssel 15 évig nem sokat voltam linuxon (leszámítva az elektronikai fejlesztéseket és a user driverek írását). De ezek a reflexek valahogy a 15 évet is túlélték. Hogy te mibe tudtál beleakadni, azt perpillanat elképzelni se nagyon tudom.
De ha kényelmes cuccot akarsz, tényleg inkább egy win-t rakj fel, és rakd be alá a wampot. Ha offline lesz a gép, akkor nem tudja net felől támadás érni, és úgy semmi baja nincs a win 7-nek sem. Vagy ha driver problémákba akadtál, üsse kavics, rakj fel win 10 home-ot. Ha nem tud lehúzni semmi update-et, mert nincs neten a gép, akkor nem fog tönkremenni a saját ostobaságától. Teljesen offline talán még a win 10 home is stabil tud maradni (nem tudom, nem próbáltam, de valószínűleg működőképes marad).
-
coco2
őstag
válasz
instantwater #20368 üzenetére
Te valami fene mód szeretsz partizánkodni az NginX-re, de én akkor sem fogadom el. Ha éppen érdekel, az okát is elárulom.
Játszottam oroszokkal neten. WoW. Onnét ismerem őket, meg a mentalitásukat. 1 év játék után már volt 2 karimon is legendary cucc. Egyszer csak lépnék be, nem stimmel a jelszó. Próbálom resetelni, nem stimmel az email. Írok adminnak, vissza se válaszolt. Ez volt 2016-ban a wowcircle wotlk x100 szerverén. Csináltam új accot, mentem vissza kicsi karival kérdezősködni, mi a roseb? Na oroszéknál az a szokás, hogy ad 1. Xenofóbok, ad 2. az erkölcsi érzékük még a mínusz 5ezret is alulról veri. Az én jelszómat konkrétan eladták pénzért. Valamelyik admin volt. Gyaníthatóan jót röhögtek rajta. Meg hogy hü**e külföldiek eridjetek a pi**ába. Olyanok ők, amikor "lazák". És oké, hogy csak játék, meg ingyenes, és senkinek semmit nem ígértek, de hát mégis miféle dolog az? Így vagy úgy de pénzt csinálnak mindenkiből mert ha nem akkor nyasgem?
Az NginX-et egy orosz fejleszti. Annyi backdoor lehet benne, mint egy hangyabolyon sem. Bármit fejlesztesz üzleti célra, ha megnő a cuccod, vagy megveszed a fizetős NginX-et, ami kb aranyárban van, vagy szervezett aukciókon fognak hátsó ajtót eladni az alkalmazásodhoz a legtöbbet licitálónak.
Ha éppen szeretsz ge*i feelingelni, akkor értem én, hogy reklámozod, mert bár nem túl szociális dolog, de hát látott már ez a világ kevésbé erkölcsös szórakozást is. Viszont legalább azért teszed? Vagy pusztán naivitásból? Mert ezen az egy kérdésen tényleg vakarom a buksit.
-
coco2
őstag
válasz
pelyib #20367 üzenetére
Ez itt a megjelenés dátuma szerint csak 16 éves
Egyébként meg mindegy, hány éves. Az oop php-t kezdetben szokni kell annak, aki html-be beinjektált php-t látott csak életében. Mert azok meg még régebbi példák. Hozzá kell szokni, hogy valakinek legyen önbizalma félrerakni a mankókat, és normálisan építsen alkalmazás szerkezetet. És tudod mit? Pont ahhoz a régebbi könyvek a jobbak, nem az újak.
-
coco2
őstag
Php alatt kimegy:
-mysqli_connect() OK,
-mysqli_set_charset() OK,
-mysqli_query() return boolean false-mysqli_errno() == 0
-mysqli_error() == ""Létezik valahonnét extra hibaüzenetet beszerezni? Ha nem stimmel valahol valami, csak illene róla visszajelzést kapnom
-
coco2
őstag
Ha Windows-hoz vagy szokva, a Linuxra önmagában a rémálom. Mindegy mi, szöszölni kell mindennel.
Kicsi teljesítményre Windows alatt van egyszerű cucc. Mint például ez. Install, next, next, next, és készen vagy. A config-ot persze beállítod. Nagy teljesítményre nem lesz alkalmas.
Nagy teljesítményre Linux alatt van licence díj mentes cucc, viszont a rendszergazdát fizetni fogod - vagy te edződsz hozzá a kihíváshoz. Én az Apache-ot javasolnám.
-
coco2
őstag
amiben vannak PHP kódrészletek
Na ezt nem így.
A betöltött file az vagy tisztán html, vagy tisztán php class, ami legyártja a html stringet. Html-t betölteni, amiben vannak php részletek, az egy kicsit php3-as világ, és ideje lenne leszokni róla. Php 7+ idők vannak. Ha valami 10+ éves legacy project-et örököltél meg, akkor most jött el az ideje az újraírásnak, amit bizony megnyertél. Gratulálok
Ha tisztán html a lap (szerver oldali script értelemszerűen nem lehet benne), file_get_contents()-el behúzod, kódolod base64_encode()-al, és ott a text stringed, ami 7 bites kapcsolaton is háborítatlanul megérkezik.
Ha tisztán php kódod van, azzal rakod össze a stringet, és nem file_get_contents()-el húzod be, a többi ugyan az.
JS oldalon van atob().
-
coco2
őstag
válasz
instantwater #20346 üzenetére
Nem szeretem azt a szintaktikát, amit azok nyomnak.
-
coco2
őstag
válasz
instantwater #20344 üzenetére
SPA/API-t bütykölök. A lap annyira igénytelen, hogy a legegyszerűbb framework is az ágyúval verébre esete.
-
coco2
őstag
válasz
instantwater #20339 üzenetére
Mínusz egy sdk a tech stack-ből, amit ha elmicsodálnak, független vagyok tőle.
-
coco2
őstag
válasz
instantwater #20337 üzenetére
Nyers xmlhttp-t nem használ már senki kb 15 éve.
Khm.. én éppen használni készülök vadi új projecthez
Nagyon ciki?
-
coco2
őstag
Xhr-el tipikusan nem html-t küldünk, hanem json-t. Van json_encode() kukucs rá php.net site-on. Csinálsz egy asszociatív tömböt php alatt, annak lehetnek mindenféle változói, azokba belerakod az értékeket. Akár egész weblapot is leküldhetsz. Azzal az a trükk, hogy fogod az egész weblap stringet, és base64 encode-olod. Máris nem kell vacakolni nyamvadt escape-eléssel. Hátulütőként hosszabb lesz a string, de ha nem bandwidth-heavy az alkalmazás, bőven elfér. Mellé mindenféle változót is bele rakhatsz a json-ba. Kliens oldalon szétpakolod az értékeket, kikódolod a base64-et, helyre rakod a html-t is. És minden happy.
-
coco2
őstag
válasz
Weareus #20328 üzenetére
Kicsi betű konverzió strtolower(). Amivel problémád lehet, azok az ékezetes betűk. Lehet, hogy azt nem mindig korrekten fogja csinálni.
Space-eket kivágni nem említetted külön pontban, de van rá str_replace(). Jellemzően lecseréled a space-eket üres stringre, ahogy ott példát is találsz "ll" -> "" cserére a lapon.
A többször előforduló kifejezések mennyiségtől függően lehetségesen cpu igényes művelet lesz php-ban, de a kód maga egyszerű. Létrehozol egy asszociatív tömböt, és beadod a stringeket kulcsnak. Rájuk raksz mondjuk egy boolean értéket, bármi. Ha vannak is dupla stringet, önmagukat fogják felülírni, hibaüzenet nem lesz belőle. Csak ciklusban pakolsz befele mindent. Ha végeztél, legyűjtöd a tömb kulcsait, van rá array_keys().
Az abc sorbarendezéssel megint csak lesz egy olyan bajod, mint a kicsi betű konverzióval. Az ékezetes betűket nem fogod tudni egyszerű megoldással sorolni be. Például hogy egy "e" után jöjjön az "é", és utána az "f". Helyette ascii kód szerint az "é" messze a "z" után fog kerülni. Ha a magyar abc szerinti rendezés fontos, építened kellene egy új karakter táblát minden előforduló karakter kóddal, és magadnak csinálni a rendezéshez a vizsgálatot. Az ilyesmit C-ben lenne jobb, nem php-ban. Pláne, mint hogy írod, mennyiségről lenne szó. De ahogy tetszik. Ha megteszi ékezetek nélkül is, van rá mezei sort(). Tömb elemeit szedi sorrendbe.
Kellemes szórakozást.
-
coco2
őstag
válasz
instantwater #20309 üzenetére
A célzást mindössze az alapok megértésének a fontosságára, és a fogalmazási stílusra irányítottam. Nem javasoltam neki olyat, hogy dobja sutba az oop-t. Egyébként én a mysqli::real_escape_string() helyett jobb szeretem a mysqli_real_escape_string()-et. És azt is be lehet rakni oop keretekbe
A mysqli_-vel nem tudom, mi bajod. A mysql_ ment ki a divatból a 7-es php-val, nem a mysqli_. A mysqli_ köszöni szépen, remekül megvan. És itt egy performance teszt a hitviták rövidrezárására.
A stresszesebb cégeknél gyaníthatóan a felelősségbiztosítási pénzre megy a játék. De ha nem tud arra rálátásod lenni sehogyan, akkor persze nincs mit tenned vele.
-
coco2
őstag
válasz
pigmeus #20306 üzenetére
Ezt a mákos tésztát szét kellene válogatni. A javascript-nek van külön topic-ja. A php-s oldalra az tartozik, amikor a php scrit elindul szerver oldalon. A webezés szépségei ugye. Külön a html, külön a javascript, külön a php.
Az "OOP-val megoldani" dologról biztos nem könnyű fiatalon leszokni, amikor valaki suliban összetalálkozik élete első beadandójával, és még misztikus fellegekben kergeti a fogalmakat. Próbáld megérteni, hogy az OOP pusztán egy keret szervezési ajánlás, és a hozzá tartozó szintaktikák, ahogyan a kód egészét formázod. Azon túl semmi más. A script attól függetlenül működik (vagy nem működik), hogy követed-e annak az ajánlásnak az utasításait. A tanárod talán nem fogadja el máshogyan a beadandót, de maga a számítógép rá se tojik arra a körülményre, és a scriptedet a számítógép futtatja, nem az előítéletes szaktanárod.
A mysqli::real_escape_string -re példát a php.net website-on találsz. Jegyezd fel magadnak azt a php.net website-ot, mert nagyon sűrűn fogsz ott doksikat olvasgatni.
Ez a sor:
while($row = mysqli_fetch_array($result)){
egy változóba rakja be az adatokat. És ott vannak.Megjelenítéshez pld:
echo $id."<br>";
vagyvar_dump($row);
-
coco2
őstag
válasz
instantwater #20303 üzenetére
B2B üzletek még mindig felelősségbiztosítással futnak? Vagy azt már hátra hagyta a világ?
-
coco2
őstag
válasz
instantwater #20301 üzenetére
Attól függően, hogy mekkora az a cég, szó lehet különféle dolgokról. Példa. Hallottam már sütödéről, amelyik direkt tartja alacsonyan a profitot, mert ha valaha megnő, nyakára mászik a tolvaj banda a polgármesteri hivatalból, és elveszik tőle. És az még csak egy viszonylag kicsi cég egyszerű ok-okozati összefüggésekkel.
A kubernetesről egyébként nem tudom, mennyire vakítja a népeket. Én ránéztem doksikra, és rendszerszintű konténereket kezel. Ha nekem adat alapú a felépítésem, kb semmire kell. Akár hátrébb vagyok vele, mint előrébb. De aki brossúra dumákat olvas naphosszat, biztos máshogy látja.
-
coco2
őstag
válasz
instantwater #20299 üzenetére
És gondolom fizetik is az extra szakember munkaórát szép pénzen
-
coco2
őstag
-
coco2
őstag
Még egy apróság. Ha a DocumentRoot nem úgy kezdődik, hogy "/var/www/", egyszerűen csak nem szolgálja ki az apache valamiért. Hogy valami régi dolog, vagy új, nem tudom, sokáig nem követtem a verziók nyavajáit. Szükség megoldásként beraktam egy soft linket a www mappa alá, és arra mutat a document root. Bele éppen nem halok, de ha egyszerűen orvosolható a jelenség, egy tippet megköszönnék. Megkímélne +1 soft link-re figyeléstől.
-
coco2
őstag
válasz
sztanozs #20291 üzenetére
@sztanozs:
Köszönöm a figyelmeztetést. Egy spa / api szerver készül éppen, file hozzáféréseket nem tervezek paraméterbe rakni.
@nevemfel:
Köszönöm a tippet. Beállítottam normálisra az elérési jogokat, és most már működik, amit nem értettem. Illetve egy apróság még alant.
@supercow:
Elfogadom a gondolatot, és átszerkesztem a site-ot. Egyetlen nyitott kérdés maradt htaccess használatára, az pedig a bináris anyagok átlinkelése a stie-ról, ami kvázi sávszélesség támadása. Még nézem, hogy azt a rewrite rule-t berakhatom-e a virtual server beállítások közé, vagy annak viszont tényleg htaccess-be kell kerülnie. Ilyesmi:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Más:
Egy index.php-ba ennyit raktam bele:
<?php var_dump(file_get_contents("index.php")); ?>
Ha valami html állományt linkelek be, vagy bármi mást, arra működik, szépen képernyőre dobja a tartalmát. Viszont ha php állományt, arra üres stringet kapok vissza - furcsa mód a string korrekt hosszúságával, de akkor is üres string.
A szerveren egyébként be van állítva script cache ezekkel:
"opcache.enable=1"
"opcache.memory_consumption=128"
"opcache.interned_strings_buffer=8"
"opcache.max_accelerated_files=1000"
"opcache.use_cwd=1"
"opcache.validate_timestamps=1"
"opcache.revalidate_freq=2"
"opcache.revalidate_path=0"
"opcache.max_file_size=0"
Az ember azt hinné, a php file-ok nem kerülnek blokkolás alá vagy olyasmi. Pláne, hogy kívülről text editorral bele tudok nyúlni akármelyikbe.Van valami kézenfekvő magyarázat a jelenségre?
-
coco2
őstag
válasz
sztanozs #20289 üzenetére
Csak hogy megnyugtassam magam, hirtelen rápróbáltam, hogy document root fölötti mappában létezett a "dead.letter" file, és hogy mit lép az apache-om a "www.mydomain.com/../dead.letter" -re. Visszaírta "www.mydomain.com/dead.letter" -re, pedig úgy emlékszem, nincs ilyen céllal rewrite rule-om. Ha működik is valami védelem, az alap beállítás lehet. Valós tud még lenni az a veszély a jelenkori világban?
-
coco2
őstag
válasz
supercow #20284 üzenetére
Oké, a .htaccess per folder, ez benéztem, köszönöm a megoldást
A laravel trükkjét viszont nem ismerem. Nem értem az utalást a public/ mappára. Valami gyakorlati rávilágítás jól jönne.
Jelenleg ami van a virtual serverben, az "DocumentRoot /var/www/my-website". Oda terveztem berakni minden nyilvános cuccot egyben (összesen talán 30 file-ról beszélünk a kliens oldali .png grafikákkal együtt), és egy "/var/www/my-website/private" mappába a php libeket, meg a cron jobbal futtatott php cli-ket (talán 15 file fog oda kerülni összesen).
Milyen játékot lehetne játszani a mappákkal meg a document root-tal?
-
coco2
őstag
.htaccess példák között kotorászok, és nem találok példát mappa tiltásra
Viszonylag egyszerű site szerkezet, gyökér könyvtárban hagynám az összes nyilvános cuccot, és a gyökérben lévő X mappába pakolnám az összes többit (tipikusan php-ban require_once-al behúzott php libek kerülnének külön). Akinek van ilyesmire htaccess példája, esetleg megkérném rá, koppantsa be, vagy örülnék bármi netes blog url-nek olyan példával.
Köszönöm
-
coco2
őstag
Sziasztok!
Egy php program összesen ennyi:
<?php
$xx= file_get_contents("https://wowcircle.net/en.html");
echo $xx;
?>Ha lefuttatom cli-vel, a válasz rá:
D:\>C:\wamp64\bin\php\php7.4.9\php.exe exec.txt
Warning: file_get_contents(https://wowcircle.net/en.html): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in D:\exec.txt on line 2
D:\>Ha beírom a lapot böngészőbe, természetesen letölti. Ebben a tegyük működésképtelenné a webscrapereket játékban én még új vagyok. Hol van a kutyus elföldelve?
-
coco2
őstag
válasz
instantwater #20240 üzenetére
A terveket illetően igazán köszönök bármilyen építő jellegű kritikát. A magam részéről úgy vélem, éppen azokkal az extrém kérdésekkel tuti jól fogok szerepelni a megmérettetések során
Helyette a session kezelési technikák volt az egyetlen kérdés, ami úgy elúszott, mint ami sose volt itt
-
coco2
őstag
válasz
instantwater #20234 üzenetére
Abban a design-ban egy gépre szorul az adatbázis, és bármennyit optimalizálok, legkésőbb 100k mau környékén ott a plafon.
Tervben van, hogy ha muszáj ideiglenesen áttérni egy szerverről kicsit többre, ofc a db mehet külön, és talán 2-3 php szervert ki tud szolgálni, arányaiban annyi lehet a cpu eltérés közöttük. De jobb szeretném azt a tervezési lépést mindenestül átlépni. Felemás megoldás, aminek minden baja van és semmiben sem igazán jó.
-
coco2
őstag
válasz
instantwater #20232 üzenetére
És mi a baj a blocking végrehajtással? Lehet azt is ügyesen használni.
Már régen nem a php 3 időket éljük. Van perzisztens kapcsolat php-hoz.
-
coco2
őstag
válasz
instantwater #20230 üzenetére
Nem dolgozom a Facebook-nál. Bár tekintettel rá, hogy a licencelés szerint egy befutott alkalmazást elkövetelhetnek, még az sem kizárt, hogy az a jövőben megváltozik. Elvileg 5M mau-nál húznak korlátot, amikor rám szólhatnak hogy nosza, akkor most valamit tenni kellene. De addig előbb el is kell ám jutni
A php alábecsülését nem igazán értem. Nekiállsz alaposan kiszámolni mindent egy teljesítmény webapp fejlesztésében, a php-n kívül én nem is találtam semmi mást, amiben megbízni mernék.
Redis egy szálon fut. Nem tudták megoldani a srácok a multithreadinget. A motor legalján pont annyit tudhat teljesíteni, mint mysql memory engine 1 táblán.
Több loadbalancer ofc azért kell, mert egy fürtben a load balancer is ki tudhat esni. És akkor mi is történik? Meghalt az egész alkalmazás?
Eltértünk a tárgytól
-
coco2
őstag
válasz
instantwater #20228 üzenetére
Bár csak az indexek miatt kellene aggódnom
Memory engine-t azért használok, mert az fel tud írni másodpercenként és táblánként külső forrásból kb 2-3 ezer rekordot egy 2 ghz-es cpu-n (kommersz szerverek esete ugye). Szerencsére a sebesség igazi korlátja mindössze a table lock, ahol a folyamatok összeakadnak, szóval ha elérem a korlátot, gyártok majd arra round robin osztást, hogy a folyamatok eltérő táblákat használjanak. Mondjuk 16 memória táblára osztani szét a terhelést. Azok tudnak futni külön szálakon, és nem akasztják egymást. Nekem ott kezdődik a terhelés fogalma. Hdd-n, ssd-n mindaz esélytelen lenne alapos write-back system cache nélkül, de azt viszont nem tudom annyira kézben tartani, mint a memory engine táblákat.
Load balancer annyiban probléma, hogy mindegyik load balancer ugyan azt a szerver csoportot éri el. Gondold csak végig, mi azzal a bajom, ha nem közös nyilvántartással teszik mindazt.
Ha a sticky session találmány nem lenne elég, jól sejtem, hogy csak a session_set_save_handler() marad? Vagy van még valami más, amit utolsó esélyként szintén megnézhetek, mielőtt a nyuszi üregének a legalján állok neki gödröt ásni?
-
coco2
őstag
válasz
instantwater #20226 üzenetére
És a gödör még annál is mélyebb, mert nem használhatok egy darab központi adatbázist
Olyan sok terhelést kapna, hogy muszáj őket elosztanom.
A sticky session nevet köszönöm, körbeszaglászok. De megoldást jelenteni csak akkor fog, ha a load balancereket mind flottába állíthatom olyasmit kezelni. Mert az a helyzet, hogy load balancerből is több lenne.
Új hozzászólás Aktív témák
Hirdetés
- Microsoft Excel topic
- Trollok komolyan
- Az AMD-vel tervezi a következő generációs Xboxokat a Microsoft
- BestBuy topik
- Milyen TV-t vegyek?
- Végleg lenyomta a tévét a streaming az USA-ban
- Az áremelések és a GTA VI késése miatt nem költekeznek a játékosok?
- Mass Effect
- Milyen autót vegyek?
- Háztartási gépek
- További aktív témák...
- AKCIÓ! Dell Alienware M17 R3 Gamer notebook - i7 10750H 16GB DDR4 1TB SSD RTX 2070 8GB WIN10
- Konzol felvásárlás!! Playstation 5, Playstation 5 Pro
- Bomba ár! Lenovo IdeaPad V110 - i3-6GEN I 4GB I 128GB SSD I 15,6" I HDMI I Cam I W10 I Garancia!
- Eredeti Lenovo 230W töltők - 4X20Z83995
- KIÁRUSÍTÁS - REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest