http://www.zeroboard.com/?mid=zb4_tip&page=3&document_srl=855844
아래처럼
Warning: Invalid argument supplied for foreach() in /xxx/lib.php on line 22
제로보드 사용도중.. 이것과 비슷한 에러가 발생한다면..
제로보드 폴더안 lib.php를 열어..
@error_reporting(E_ALL ^ E_NOTICE); 이것 다음행에 아래소스를 추가해주시면됩니다..^^
if (!is_array($HTTP_GET_VARS)) $HTTP_GET_VARS = array();
실제 해결은
2007.07.05 16:37 김용우 말씀해주신 현상이 발생하는 이유는 PHP가 5.0으로 버전업이 되면서 기본 설정값이 변경되었기 때문입니다.
php 5.0 이상에서 register_long_arrays 라는 설정값이 새로 생겼는데, 이 설정값은 $HTTP_*_VARS 형태의 미리 정의된 변수를 등록할 것인지 아닌지를 설정합니다.
이 값이 Off로 되어 있고 소스 내에서 $HTTP_GET_VARS 같은 변수를 사용하면 위와 같은 에러 메시지가 발생합니다.
제일 간단한 해결책은 소스를 건드리지 않고
php.ini에서
register_long_arrays = On
로 설정하는 것입니다.
그러나 차기 버전인 php 6.0에서는 register_long_arrays 설정값이 없어질 예정이라고 하고, 성능 측면에서도 이 설정값을 On으로 바꾸기 보다는 $HTTP_*_VARS 형태의 변수를 아래처럼 $_GET 같은 형태의 변수로 바꿔주는 것이 유리하다고 하니, 제로 보드의 소스도 아래처럼 변경되는 것이 좋지 않을까 싶습니다.
$HTTP_SERVER_VARS -> $_SERVER
$HTTP_GET_VARS -> $_GET
$HTTP_POST_VARS -> $_POST
$HTTP_COOKIE_VARS -> $_COOKIE
$HTTP_POST_FILES -> $_FILES
$HTTP_ENV_VARS -> $_ENV

ino
07-10-23 13:42
0개
3,108회
foreach() in /xxx/lib.php on line 22 제로보드
댓글목록
등록된 댓글이 없습니다.