이 기사는 주로 PHP에서 Magic_quotes_gpc의 잘못된 동적 종료 문제를 공유합니다. 이러한 문제를 해결하는 데 도움이 되기를 바랍니다.
어제 온라인 프로젝트를 검색하다가 문제를 발견했습니다. 일부 텍스트 출력에서 따옴표 앞에 백슬래시가 추가되어 있습니다. 예:
따옴표 안에 "백슬래시"가 너무 많습니다
에 표시된 결과로 판단하면 페이지에서 PHP의 Magic_quotes_gpc 구성이 켜져 있기 때문인 것 같습니다. 그런 다음 프로그램을 확인한 결과 항목 파일에서 다음 구성이 동적으로 닫혀 있음을 발견했습니다.
ini_set('magic_quotes_gpc', 'Off')
왜 적용되지 않았나요?
몇몇 검색 끝에 동료들이 이유를 찾는 데 도움을 줬는데, 구성을 동적으로 수정하기 전에 요청이 구문 분석되었기 때문에 수정 사항이 현재 요청에 적용되지 않는 것으로 나타났습니다.
자세한 내용은 다음 웹페이지를 참조하세요. 동료도 같은 문제에 직면했습니다.
https://bugs.php.net/bug.php?id=32867
magic_quotes_gpc는 PHP 스크립트가 가져오기 전에 요청을 구문 분석하는 동안 적용됩니다. 스크립트에서 이 설정을 변경할 수는 있지만 아무런 효과가 없습니다.
서버에 여러 프로젝트가 있으므로 다른 프로젝트에 영향을 주지 않기 위해 php.ini의 구성을 직접 수정할 수는 없습니다. , 그래서 우리는 Molu 대 Recall이 작성한 코드를 채택하여 gpc 콘텐츠를 재귀적으로 처리합니다:
if (ini_get('magic_quotes_gpc')) { function stripslashesRecursive(array $array) { foreach ($array as $k => $v) { if (is_string($v)) { $array[$k] = stripslashes($v); } else if (is_array($v)) { $array[$k] = stripslashesRecursive($v); } } return $array; } $_GET = stripslashesRecursive($_GET); $_POST = stripslashesRecursive($_POST); }
관련 권장 사항:
php get_magic_quotes_gpc() 함수 사용 지침
PHP 자동 이스케이프 문제와 관련하여 Magic_quotes_gpc에 의해 남겨진 역사적 문제 구성 ,
php get_magic_quotes_gpc 함수 사용법 소개
위 내용은 Magic_quotes_gpc가 동적으로 닫히는 것이 왜 유효하지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!