It's again not stated clearly in the documentation, that you should use --enable-discard-path ONLY IF you plan to use the PHP CGI outside the web tree as stated here.
If you want to use PHP as a regular CGI processor (via Action & AddHandler in the Apache config file), you shouldn't use this option because, if compiled with this, the PHP binary won't recognize the path to the actual script and will in any case try to send itself to the browser as the script output (!).
방법 4: 웹 트리 외부의 PHP 파서
매우 안전한 옵션은 PHP 파서 바이너리를 웹트리 밖에 위치시키는 것입니다. 예를 들면, /usr/local/bin 안에. 이 방법의 단 한가지 단점은 다음과 같은 줄을 PHP 태그를 포함하는 모든 파일의 첫번째 줄에 넣어야 한다는 점입니다:
#!/usr/local/bin/php
또한 파일을 실행 가능하게 해 둘 필요가 있습니다. 이것은 정확하게 실행을 위해서 #! 쉘 이스케이핑 메카니즘을 사용하는 펄이나 sh, 혹은 다른 일반적인 스크립팅 언어로 쓰여진 CGI 스크립트와 동일하게 취급합니다.
이 방법을 사용할 때, PHP가 PATH_INFO와 PATH_TRANSLATED를 올바르게 다룰 수 있게 하기 위해서는 PHP 파서를 컴파일 할 때, --enable-discard-path 옵션을 주어야 합니다.
방법 4: 웹 트리 외부의 PHP 파서
raj at ap dot krakow dot pl
09-Feb-2008 08:02
09-Feb-2008 08:02
Andras Rokob <rokoba at bolyai dot elte dot hu>
18-Oct-2006 09:59
18-Oct-2006 09:59
You can avoid the need of using the shell-escaping (#! ...) in all your php scripts if you set the executable bit on them and exploit the binfmt_misc support of the Linux kernels.
