Hidden Design

PHP-beállítások

Frissítve:

Minden weboldal saját, elszigetelt PHP-környezetben fut, így a PHP-verzió és a legtöbb beállítás oldalanként (domainenként, aldomainenként) külön választható. Ez az oldal leírja a verzióváltást, az alapértelmezett korlátokat, a .user.ini használatát, a Redis/Memcached elérését és a naplók helyét.

Technikai környezet röviden

Elem Érték
Webszerver Apache 2.4 (nem Nginx, nem LiteSpeed), HTTP/2
PHP-futtatás PHP-FPM, weboldalanként külön konténerben
PHP-verziók a választható verziókat a hosting panelben (Domainek → részletek) látja; a kínálat idővel változik
Adatbázis MariaDB, host: mysql. – lásd Adatbázis és phpMyAdmin
Gyorsítótárak OPcache, Memcached, Redis (díjmentesen)
Munkamenetek (session) Memcachedben tárolva
Időzóna Europe/Budapest
Előtte Cloudflare vagy a Hidden proxyja (SSL, gyorsítótár, védelem)

PHP-verzió váltása

A verziót a vezérlőpultban Ön is átállíthatja, oldalanként külön.

  1. Lépjen be az admin.hidden.hu felületre.
  2. Domainek menü → kattintson a domainre (részletek).
  3. A PHP verzió váltás blokkban válassza ki a kívánt verziót.
  4. Mentse. A weboldal konténere újraindul, ez néhány másodperces kiesést okoz.
  5. Ellenőrizze az oldalt (főoldal, admin, űrlapok, kosár). WordPressnél az Eszközök → Webhely egészsége → Információ → Szerver alatt látja a ténylegesen futó verziót.

Ha a váltás után „PHP verzió váltás sikertelen!” üzenetet kap, az rendszerint nálunk jelentkező hiba – írjon a [email protected] címre, és javítjuk.

Melyik verziót válasszam?

Ha a váltás után hibás lett az oldal

  1. Váltson vissza az előző verzióra a vezérlőpultban – ez néhány másodperc alatt helyreállítja az oldalt.
  2. Nézze meg a logs/php.log fájlt FTP-n: a hibaüzenet általában megmondja, melyik bővítmény vagy fájl a gond (pl. Call to undefined function get_magic_quotes_gpc(), Class ... not found).
  3. Frissítse vagy cserélje a hibás bővítményt/témát, majd próbálja újra az újabb verziót.
  4. WordPressnél egy hibás bővítményt FTP-n is kikapcsolhat: nevezze át a könyvtárát a web/wp-content/plugins/ alatt (pl. elementor → elementor.off).

Webgyökér (root könyvtár) módosítása

Alapesetben a weboldal a web/ könyvtárból szolgálódik ki. Keretrendszereknél (Laravel, Symfony) a nyilvános könyvtár egy alkönyvtár:

  1. Domainek → domain részletei → Root könyvtár váltás.
  2. Adja meg a web/ alatti alkönyvtárat, pl. public – ekkor a rendszer a web/public/ könyvtárat használja.
  3. Mentse.

Alapértelmezett PHP-korlátok

Beállítás Alapérték
memory_limit 128M
upload_max_filesize 32M
post_max_size 32M
max_execution_time 60 másodperc
Egy oldal egyidejű PHP-folyamatai alacsony szám (a tárhelyek egymástól elszigetelt, korlátozott erőforrással futnak)
max_input_vars 1000 (PHP-alapérték)
Rendszerparancs- és folyamatkezelő függvények (exec, system, passthru, shell_exec, proc_open, popen, pcntl_*, posix_*), valamint a nyers socket_* függvények letiltva

Fontos további korlát: a weboldalak a Cloudflare mögött futnak, amely 100 másodperc után megszakítja a választ (524-es hiba). Hiába emeli a max_execution_time értéket, egy böngészőből indított kérés 100 másodpercnél tovább nem futhat. Hosszú feladatot (import, export, nagy feldolgozás) bontson részekre, vagy futtassa háttérben, ütemezett feladatként – lásd Időzített feladatok.

Beállítások módosítása .user.ini-vel

A PHP-beállítások egy részét Ön is módosíthatja egy .user.ini fájllal a weboldal gyökerében (web/.user.ini; ha másik root könyvtárat állított be, akkor abban).

Példa:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
max_input_vars = 5000

Tudnivalók:

.htaccess és PHP

PHP-bővítmények

A szokásos, CMS-ekhez szükséges bővítmények elérhetők (pl. mysqli/PDO, GD és imagick, OPcache, memcached). A pontos listát az adott PHP-verzióhoz a phpinfo() oldalon látja.

Redis és Memcached

Minden szerveren díjmentesen elérhető:

Szolgáltatás Host Port Jelszó
Redis redis. 6379 (alapértelmezett) nincs
Memcached – a PHP-munkamenetekhez már be van állítva 11211 nincs

Levélküldés PHP-ból

Részletesebben: WordPress a Hidden tárhelyen – levélküldés.

Naplók (logok)

FTP-n vagy SFTP-n a tárhely logs/ könyvtárában:

Fájl Tartalom
logs/php.log PHP-hibák, figyelmeztetések, fatal error-ok – hibakeresésnél ezt nézze először
logs/error.log Apache szintű hibák (pl. .htaccess-hibák, jogosultsági problémák)
logs/access.log látogatási napló (IP, időpont, URL, válaszkód)
levélküldési napló a PHP-ból küldött levelek (feladó, címzett)

Gyakori hibák

Tünet Ok Megoldás
Allowed memory size of 134217728 bytes exhausted elfogyott a 128M memória Emelje a memory_limit-et .user.ini-ben (pl. 256M); közben keresse meg, mi fogyaszt ennyit (gyakran egy bővítmény).
Maximum execution time of 60 seconds exceeded túl hosszú futás Emelje a max_execution_time-ot, de 100 mp fölött a Cloudflare úgyis megszakítja – bontsa részekre a feladatot.
„The uploaded file exceeds the upload_max_filesize directive” 32M feltöltési korlát Emelje .user.ini-ben az upload_max_filesize és post_max_size értékét; nagyon nagy fájlt FTP-n töltsön fel.
500 Internal Server Error a .htaccess módosítása után php_value/php_flag sor vagy hibás direktíva Távolítsa el a hibás sort; nézze meg a logs/error.log-ot.
503, „child exited on signal 11 (SIGSEGV)” a naplóban a PHP-folyamat összeomlik egy adott verzión (bővítmény- vagy verzióhiba) Váltson másik PHP-verzióra (pl. 8.1 → 8.2), frissítse a bővítményeket.
Call to undefined function ... váltás után a függvény az új PHP-verzióból kikerült Frissítse a kódot/bővítményt, vagy váltson vissza.
Fehér oldal (white screen) fatal error, kijelzés nélkül Nézze meg a logs/php.log-ot.
Hiányzó PHP-bővítmény (pl. „requires bcmath”) a bővítmény nincs az adott verzióban Írjon a supportnak.
exec() has been disabled for security reasons rendszerparancs-függvények tiltva Olyan megoldást használjon, ami nem igényel shell-hívást; parancssori feladathoz használja az SSH-hozzáférést (FTP és SFTP).

Gyakori kérdések

Ki tudja átállítani a PHP-verziót – én vagy a support? Ön is, a vezérlőpultban (Domainek → részletek → PHP verzió váltás). Ha a listában nem szereplő verzió kell, vagy a váltás hibára fut, a support segít.

Lehet oldalanként (aldomainenként) más PHP-verzió? Igen, minden domain/aldomain külön tárhely, saját PHP-verzióval.

A WordPress elavult PHP-ra figyelmeztet. Mit tegyek? Állítsa át a vezérlőpultban egy újabb, a WordPress által ajánlott verzióra, előtte ellenőrizze a téma és a bővítmények kompatibilitását. Ha valami eltörik, egy kattintással visszaválthat.

Mennyi ideig áll az oldal verzióváltáskor? Néhány másodpercig, amíg a konténer újraindul.

Emelhető a memória vagy a feltöltési limit? Igen, .user.ini-vel Ön is emelheti, ésszerű határon belül, vagy kérje a supporttól.

Van SSH, Composer, WP-CLI? Igen: SSH az ftp.hidden.hu 2222-es portján érhető el, a shellt a vezérlőpultban FTP-fiókonként, időablakkal kell engedélyezni. A weboldal saját környezetében fut, composer és wp-cli használható benne. Ha ez nem elérhető Önnek, a Composer-telepítést a support elvégzi, vagy a vendor könyvtárat feltöltheti FTP-n. Nagy projektnél javasoljuk, hogy a Composer és a front-end build a CI-folyamatban fusson, és csak a kész fájlok kerüljenek a tárhelyre.

Átállíthatják Nginx-re vagy LiteSpeedre? Megosztott tárhelyen nem; Apache fut. Statikus gyorsítótárhoz használjon fájl alapú cache-bővítményt és a Cloudflare gyorsítótárát.

Hova írhat a PHP ideiglenes fájlokat? A tárhely saját tmp/ könyvtárába.

Kapcsolódó oldalak

Nem találta, amit keresett? Kérdezze az asszisztenst, vagy írjon a [email protected] címre.