ใช้ mwhosi แล้วฟ้อง error
Undefined variable: HTTP_SESSION_VARS กับ Undefined index: DOCUMENT_ROOT
ไม่ทราว่ามีวิธีแก้อย่างไรครับ
** ใน php.ini register_globals เป็น On ครับ
ใช้ mwhosi แล้วฟ้อง error
Undefined variable: HTTP_SESSION_VARS กับ Undefined index: DOCUMENT_ROOT
ไม่ทราว่ามีวิธีแก้อย่างไรครับ
** ใน php.ini register_globals เป็น On ครับ
สร้างไฟล์ .htaccess แล้วใส่โค้ดด้านล่างนี้ลงไป
php_flag register_globals off
อัพเข้าไปบนเว็บเลยครับ
webserver เป็น IIS ครับ ไม่ทราบว่า วิธีการเหมือน apache อย่างที่คุณ siamwebsolution.com บอกหรือเปล่าครับ
ไม่เคยลองอ่ะครับ
ผมได้ลองดูแล้วครับ ปรากฏว่ายังไม่ได้ ยังงัยขอบคุณ คุณsiamwebsolution.com มาก ๆ ครับ
เดี๋ยวรอท่านอื่นที่พอช่วยได้ รบกวนช่วยหน่อยนะครับ
search
$HTTP_SESSION_VARS
replace
$_SESSION
ลองแล้วยังไม่ได้เหมือนกันครับ
เท่าที่เดาๆ แล้วนี่ น่าจะเกิดจาก ระบุค่า path ในไฟล์ config ไม่ถูกครับ ลองเอา config มาโพสดูครับ
sorry !
sorry !
โทษทีครับ หมายถึง config ของตัวสคริบนะครับ ที่เก็บพวก absolute path
ใน code จะ error ช่วงนี้ครับ
global $vars;
if(!isset($_SERVER)) { $_SERVER = $HTTP_SERVER_VARS; }
if(!isset($_POST)) { $_POST = $HTTP_POST_VARS; }
if(!isset($_GET)) { $_GET = $HTTP_GET_VARS; }
if(!isset($_COOKIE)) { $_COOKIE = $HTTP_COOKIE_VARS; }
if(!isset($_FILES)) { $_FILES = $HTTP_POST_FILES; }
if(!isset($_ENV)) { $_ENV = $HTTP_ENV_VARS; }
if(!isset($_SESSION)) { $_SESSION = $HTTP_SESSION_VARS; }
while(list($key, $var) = each($_GET)) { $vars[$key] = $var; }
while(list($key, $var) = each($_POST)) { $vars[$key] = $var; }
// try find out the script’s path, if the first character is / then assume
// that the directory splitter is that too (otherwise use )
$dir_split = “/”;
if($_ENV[“DOCUMENT_ROOT”] != “”) {
if(substr($_ENV[“DOCUMENT_ROOT”], 0, 1) != “/”) {
$dir_split = “\”;
echo “
”;
}
}
ให้ทายว่าใช้ php5 ใช่มั้ยครับ
ลบ code ด้านล่างนี้ทิ้งได้หมดเลย
if(!isset($_SERVER)) { $_SERVER = $HTTP_SERVER_VARS; }
if(!isset($_POST)) { $_POST = $HTTP_POST_VARS; }
if(!isset($_GET)) { $_GET = $HTTP_GET_VARS; }
if(!isset($_COOKIE)) { $_COOKIE = $HTTP_COOKIE_VARS; }
if(!isset($_FILES)) { $_FILES = $HTTP_POST_FILES; }
if(!isset($_ENV)) { $_ENV = $HTTP_ENV_VARS; }
if(!isset($_SESSION)) { $_SESSION = $HTTP_SESSION_VARS; }
แล้วแก้
if($_ENV[“DOCUMENT_ROOT”] != “”) {
่อ่อแบบนี้นี่เอง
$_ENV ไม่มีใน php 5 หรือครับ จะได้รู้ไว้
$_ENV มีในกรณีที่รันผ่าน shell หรือ php cgi เท่านั้นครับ
ถ้าเป็น apache cli จะไม่มีตัวแปรนี้ขึ้นมา
ใช่ครับผมใช้ php5 ครับ จึงได้เกิด error แบบนี้ขึ้นมา ตอนนี้เปลี่ยนไปใช้ php4 แล้วครับ
รันได้เลยครับ ไม่ต้องแก้ script ขอบคุณ คุณ iceZ คุณ Thaitumweb และคุณ siamwebsolution.com ที่ให้ความช่วยเหลือ