PHP open_basedir Restriction in effect Klaida
PHP open_basedir apsaugos įgnybti yra Safe Mode saugumo priemonė, kuri neleidžia vartotojams atidaryti failus arba scenarijų, esančių už jų katalogą su PHP, jei aplankas yra specialiai atmestos. PHP open_basedir nustatymus, jei įjungta, bus užtikrinta, kad visi byla operacijas tik failus pagal tam tikrą katalogą, ir tokiu būdu užkirsti kelią php skriptą tam tikram vartotojui gauti failus neleistino vartotojo sąskaitą. Kai scenarijų bando atidaryti failą, pavyzdžiui, su fopen () ar gzopen (), failo vietą yra tikrinamas. Jei failas yra ne nurodyta arba leidžiama katalogų medis, PHP atsisako ją atidaryti ir tokios klaidos gali atsirasti:
Warning: file_exists () [function.file-exists]: open_basedir restriction in effect. File (/ home/user_name/public_html/wp-content/uploads/2006/12/picture.jpg) nėra per leistiną sekai (-ai): (/ home / vartotojo_vardas: / usr / lib / php: / usr / local / lib / php: / tmp) in / home / vartotojo_vardas / public_html / wp-admin / inline-uploading.php on line 226
Pirmiau minėtos klaidos pranešimą dėl Apache httpd žiniatinklio serverio klaidos žurnale (error_log) Hostingas WordPress blog. Tačiau problema gali atsitikti, kad visos sistemos ar svetainių, kad naudoti kaip PHP scripting language.
Sprendimo arba apeiti į open_basedir restriction problema yra ta, kad išjungti PHP open_basedir apsauga apskritai, ar pašalinti apsaugoti tam tikrų privilegijuotų vartotojų sąskaitas, ar suteikti prieigą prie papildomų katalogas PHP skriptus.
Jei naudojate Cpanel WebHost vadovas (WHM), jūs galite lengvai išjungti PHP open_basedir apsaugos arba neįtraukti tam tikrų vartotojams iš apsaugos WHM. Tiesiog eikite į "Tinkinti Saugumas" pagal skyrelyje "Saugumas", tada pasirinkite "Configure" nuorodą "Php open_basedir Tweak". Viduje, galite įjungti arba išjungti Php open_basedir apsaugos, arba pašalinti, ir įtraukti šeimininkai iš apsaugos.
Jei naudojate Plesk hostingo valdymo pultas, jums gali tekti rankiniu būdu redaguoti Apache konfigūracijos failo vhost.conf ir vhost_ssl.conf ir pridėti arba redaguoti taip php_admin_value open_basedir eilutes taip:
<directory /full/path/to/the/directory/httpdocs>
php_admin_value open_basedir none
</ Directory>
<directory /full/path/to/the/directory/httpdocs>
php_admin_value open_basedir / pilnas / kelias / iki / dir: / pilnas / kelias / iki / katalogo / httpdocs: / tmp
</ Directory>
Pastaba: SSL pavaduojančius į vhost_ssl.conf failo, katalogo kelias baigiasi su "httpsdocs" vietoj "httpdocs".
Kelius (aukščiau yra tik pavyzdys ir turi būti keičiami su nekilnojamuoju kelias), kad už open_basedir yra kataloguose, kurie konkrečiai leidžiami PHP skriptus į vhost domeno sąskaitą prieiti, todėl jūs galite pridėti daugiau katalogų, kad failai buvo sandėliuojami ir reikia kurias turi atidaryti PHP atskirdami spalva ":". Tačiau būkite atsargūs, nes gali atskleisti jūsų sistemos saugumo sukčiavimu.
Kai daroma, paleisti komandą, norėdami atlikti pakeitimus veiksmingą ir paleiskite Apache httpd interneto serveryje (apache2ctl perkrauti arba httpd restart):
$ PRODUCT_ROOT_D / admin / sbin / websrvmng-prieš-a
Jei norite rankiniu būdu redaguoti Apache konfigūracijos failo išjungti PHP open_basedir apsaugos, tiesiog atidaryti httpd.conf failą ir ieškoti eilutės prasideda per šių simbolių:
php_admin_value open_basedir ... ..
Pakeisti visą eilutę pagal virtualaus už domeno vartotojo sąskaitą, kurią norite išjungti apsaugą, šią eilutę į ją išjungti:
php_admin_value open_basedir none
Taip pat galite pasirinkti, kad jūsų PHP gauti papildomų katalogų vietoj be išjungti apsaugą. Papildoma kataloge gali būti prijungtas prie linijos, atskirtų spalvų ":". Pavyzdžiui, pridėti / new_directory prie leisti sąrašas:
php_admin_value open_basedir "/ home / user_account /: / usr / lib / php: / usr / local / lib / php: / tmp"
php_admin_value open_basedir "/ home / user_account /: / usr / lib / php: / usr / local / lib / php: / tmp: / new_directory"
Paleiskite Apache po baigtas redaguoti. Atkreipkite dėmesį, kad katalogas leidžiama sąrašą apribojimas pavadinime iš tiesų yra prefiksą, ne katalogo pavadinimas. Tai reiškia, kad "open_basedir = / dir / incl" taip pat suteikia prieigą prie "/ dir / include" ir "/ dir / incls", jei jie egzistuoja. Jei norite apriboti prieigą tik į nurodytą katalogą, baigiasi ukośnikiem. Pavyzdžiui: "open_basedir = / dir / incl /".
DĖMESIO: Šis puslapis yra mašina išvertė ir pateikiama "kaip yra" be garantijų. Mašininio vertimo, gali būti sunku suprasti. Remkitės originalas anglų straipsnis jei įmanoma.
Susiję straipsniai
- Grupės Prisijungti arba prisijungimo skriptą Neveikia, neveikia arba Ne vykdančioji
- Aplinkkelis ir šalinti 3 pjesė ar 3 dienų apribojimus dėl Zune WiFi pasidalijimo
- Vidinė klaida 2739: Klaida Vista "(32 arba 64 bitų) Kai įdiegti Adobe Photoshop CS3 ir reflector Susijusios programos
- PHP Parse Error: syntax error, netikėtų $ pabaigos
- Mėgaukitės Flip 3D efektas Jūsų Windows XP
- "Įdomu" Skaidrumo Poveikis Vista wmp11 langas
- Patarimai, kaip įsigalios po diegimo be paleisti Windows XP / Vista
- Kaip išjungti "Windows Vista Aero Glass skaidrumo efektas
- Padarykite maksimalią Window Ar Aero Glass skaidrumo efektas su VistaGlazz (parama individualizuotos temos Visual Styles)
- Gauti ir įjungti "Windows Vista Aero Glass skaidrumo efektas ir Desktop Windows Manager (DWM)










































Gruodis 21, 2007 16:58
Didžiosios straipsnis.
Ačiū už WHM raštelis.
Jūs išsaugojote my ass.
Gruodis 3, 2007 16:21
[...] Queréis más información sobre este tema, šienas un muy interesante artículo sobre este klaida Mano skaitmeninis gyvenimas. Etiquetas: Desarrollo, hosting, open_basedir, [...]