2012-03-07 1 views
3

(Backstory : 내 PHP 스크립트가 명령 줄 (PHP의 "exec()"명령을 통해 다른 PHP 스크립트를 실행하고 있으므로 대상 스크립트가 생성 한 cURL 세션이 원본 PHP 스크립트가 멈추지 않도록합니다. 이메일 제공 업체의 서버가 랙이있는 경우이 내 사용자에 대한 느린 페이지를로드하지 않고 트랜잭션 이메일을 보낼 수 있도록) 나는이 같은 PHP 스크립트 전화 드렸습니다PHP 스크립트의 명사 제한 문자가 명령 줄을 통해 실행됩니까?

:.

간부 ("[PHP] [대상을 스크립트] [querystring] "), 여기서 [쿼리 문자열]은 일반적인 HTTP GET 쿼리 문자열입니다 (변수 = 값 & variable2 = value2). 쿼리 문자열을 통해 전자 메일 데이터를 대상 스크립트에 전달하는 이유는 PHP 호스트에서 PHP 스크립트가 명령 줄을 통해 호출 된 $ argv를 탐지하지 못하게하는 PHP.ini에서 플래그를 사용할 수 없게 설정했기 때문입니다. (이유가 무엇이든 상관없이 쿼리를 추가하면 작동합니다.)

질문 :이 쿼리 문자열의 글자 수 제한은 무엇입니까? 심지어 하나 있을까? HTTP 또는 웹 브라우저가 혼합되어 있지 않습니다. 이는 Apache와 브라우저의 GET 문자 제한이 제약이되지 않는다는 것을 의미합니까? 그래도 자연스럽게 커맨드 라인 제약이 있을까요?

+0

직접 테스트하는 것은 간단합니다. ;-) – kirilloid

답변

0

문자 제한이 없다고 생각합니다. 사용하는 운영 체제 또는이 경우 귀하의 메모리로 번역 될 언어에 의해 결정될 수 있습니다.

질문에 대한 답변이 되었기를 바랍니다.

0

suhosin 패치가 설치된 PHP 설정은 매개 변수를 가져 오는 데 기본 제한 인 512자를 사용합니다. 나쁜 연습이지만 대부분의 브라우저 (IE 포함) 은 약 2000 자까지 URL을 지원하지만 Apache는 기본값 인 8000을 지원합니다. suhosin을 사용하여 긴 매개 변수를 에 추가하려면 suhosin.get.max_value_length =를 php.ini에 추가하십시오.

관련 문제