PHP open_basedir: Hogyan lehet letiltani a PHP open_basedir-t a Magento teljesítményének javítása érdekében

Az e-kereskedelmi üzletek kezelése sokrétű kihívásokkal néz szembe, amelyekkel szembe kell néznie az ügyfelek igényeinek kielégítése érdekében. És bizonyos esetekben ezek a kihívások kompromisszumokkal járhatnak.

Az egyik ilyen eset a webhely biztonsága és teljesítménye. Egyrészt a legtöbb online vásárló azt várja el az e-kereskedelmi webhelyektől három másodperc vagy annál rövidebb idő alatt tölt be. Másrészről, Az ügyfelek 18 százaléka elhagyja az e-kereskedelmi webhelyeket a vevő útja felénél, ha úgy találja, hogy a webhely fizetési biztonsága hiányzik.

Ha Magento üzlettulajdonosként megtalálja az egyensúlyt ezek között a követelmények között, az nehéz helyzetbe hozza Önt. Például használhatja a PHP open_basedir parancsát, hogy korlátozza a PHP szkriptek hozzáférését az információkhoz bizonyos könyvtárakon kívül, de ez a Magento teljesítményének ára van.

Ebben az útmutatóban elmagyarázzuk, mit csinál a PHP open_basedir, miért jobb, ha letiltja, és hogyan tilthatja le.

A következőkre térünk ki:

PHP open_basedir 101

A PHP open_basedir egy PHP biztonsági szolgáltatás, amely lehetővé teszi a PHP szkriptek által elérhető könyvtárak meghatározását. Más szóval, ezzel korlátozhatja a PHP szkriptek hozzáférését az open_basedir útvonalakon kívüli fájlokhoz.

Ha Ön Magento webhely tulajdonos, akkor általában használhatja a PHP open_dir fájlt a Magento telepítési könyvtárában, hogy:

  • Akadályozza meg, hogy a PHP szkriptek hozzáférjenek a könyvtáron kívüli érzékeny fájlokhoz, beleértve a rendszerfájlokat és a szerveren tárolt más webhelyek fájljait.
  • Védje a kiszolgálót a rosszindulatú szoftverektől, például vírusoktól és más rosszindulatú programoktól, amelyek kihasználják a címtár-hozzáférést.
  • Megfelel az adatbiztonsági szabványoknak, mint például a PCI-DSS for Magento.
Olvasni:  Hogyan lehet leállítani a postafiókokba történő szállítást a WooCommerce-ben

A PHP open_basedir állapotának ellenőrzése

Annak ellenőrzéséhez, hogy a PHP open_basedir be vagy ki van-e kapcsolva a webszerveren, hozzon létre egy info.php nevű új fájlt a következő kóddal a domain gyökérkönyvtárában:

Ezután ellenőrizze a PHP open_basedir állapotát az example.com/info.php oldalon. Példánkban az open_basedir paraméternek nincs értéke. Más szóval, az open_basedir le van tiltva.

Engedélyezett PHP open_basedir Magento problémák

Míg a PHP open_basedir segítségével megvédheti webhelyszerverét a túlterhelt PHP-bővítményektől, gyakran két jelentős problémát okoz a Magento esetében.

Hiba: open_basedir korlátozás érvényben

A Magento és kiterjesztései általában az fopen(), file_exists() vagy include() segítségével próbálják elérni a szerveren lévő fájlokat. Ha a Magento megtalálja a kért fájlt, minden rendben megy.

De ha az open_basedir be van kapcsolva, ez megakadályozhatja, hogy a Magento megtalálja a kért fájlt. Ebben az esetben a Magento általában hibát vagy figyelmeztetést ad vissza, például:

Figyelmeztetés: fopen(): open_basedir korlátozás érvényben. A fájl(/tmp) nem a megengedett elérési út(ok)on belül van:(/var/www/vhosts/example.com:/usr/share/php)

Gyenge Magento teljesítmény

Bár az open_basedir korlátozási hibát megkerülheti, ha manuálisan hozzáadja a problémakönyvtárakat az engedélyezett listához, az open_basedir általában több problémát jelent a Magento számára, mint amennyit megér.

Ha engedélyezve van az open_basedir, nem használhatod a PHP realpath gyorsítótárát. A Realpath gyorsítótár segít ideiglenesen tárolni a PHP-szkriptek által tartalmazott vagy hivatkozási fájlok elérési útját.

Előfordulhat, hogy a letiltott realpath gyorsítótár nem jelent nagy problémát a korlátozott számú fájlt tartalmazó kisebb webhelyek számára. A Magento azonban arra támaszkodik, hogy számos fájl működik együtt több könyvtárban. Ennek eredményeként a Magento teljesítménye romlik a PHP open_basedir függvényében.

Például lefuttattunk egy tesztet úgy, hogy hozzáadtuk az lstat() függvényt a Magento kódhoz, és figyelemmel kísértük, hogy hány lstat hívást kapunk, amikor olyan termékoldalt töltünk be, ahol az open_basedir engedélyezve és letiltva van. Íme az eredmények.

Olvasni:  Öt stratégia, amellyel a legtöbbet hozhatja ki Magento üzletének ünnepi forgalmából

A PHP open_basedir letiltása

A PHP open_basedir letiltásának módja a webtárhely-szolgáltatótól és a tárhely-infrastruktúrától függ. Beszéljük meg a három leggyakoribb módszert.

A php.ini fájl szerkesztése a cPanel segítségével

Ha a kiszolgálót a cPanel segítségével kezeli, a következő lépésekkel tilthatja le a PHP open_basedir-t:

1. Nyissa meg.

2. Nyissa meg a szerkesztő módot, és válassza ki a tartományt.

3. Adjon hozzá pontosvesszőt (;) előtt open_basedir letiltani. Alternatív megoldásként hozzáadhat egyik sem után = letiltani.

4. Mentse a php.ini fájl frissítéséhez.

Apache konfigurációs fájl szerkesztése

Ha nem cPanel gazdagépet használ, előfordulhat, hogy módosítania kell egy Apache konfigurációs fájlt vagy a httpd.conf fájlt. Ezt a következőképpen teheti meg:

1. Hozzáférés a webszerveren lévő fájlokhoz a FileZillával vagy egy hasonló programmal.

2. Keresse meg az /etc/httpd/conf fájlt.

3. Keresse meg a httpd.conf fájlt, és tekintse meg vagy szerkessze.

4. Keresse meg az open_basedir bejegyzést, és állítsa be a következőre:

php_admin_value open_basedir nincs

Lépjen kapcsolatba tárhelyszolgáltatójával

A tárhelyszolgáltatótól függően előfordulhat, hogy Ön nem tudja elérni a httpd.conf-ot, vagy nem tudja módosítani az open_basedir beállításait.

Ha nem találja az open_basedir beállításait a konfigurációs fájljaiban, segítségért forduljon tárhelyszolgáltatója ügyfélszolgálatához.

Egyes esetekben az ügyfélszolgálat biztonsági okokra hivatkozhat, amiért nem kapcsolja ki az open_basedir funkciót. Ha ez a helyzet, akkor jobban járna egy másik webtárhely mellett, mivel maga a PHP Group nem tartja megbízható biztonsági funkciónak a dokumentumaiban.

Utolsó gondolatok: PHP open_basedir — Magento ajánlások a Hostingertől

Noha a PHP open_basedir hamis kényelmet nyújthat biztonsági funkcióként, nem érdemes rá támaszkodni a Magento teljesítménye árán.

Nagy teljesítményt és robusztus biztonságot is elérhet, ha a Hostinger Magento vállalati tárhelyet választja. Teljesítményre optimalizált szervereink SOC II típusú auditált adatközpontokban találhatók, és olyan hatékony funkciókkal rendelkeznek, mint a PCI-kompatibilis biztonság, rugalmas architektúra, 100 százalékos üzemidőés 24/7/365 támogatás.

Olvasni:  Hogyan készítsünk hatékony WordPress munkafolyamatokat

Terveinkben pedig alapértelmezés szerint le van tiltva az open_basedir a jobb teljesítmény érdekében.

Tekintse meg kezelt Magento terveinket, hogy még ma kezdje el.

Új publikációk:

Ajánlott