情形四:PHP 直譯器放在 web 目錄以外

一個非常安全的做法就是把 PHP 直譯器放在 web 目錄外的地方,比如說 /usr/local/bin。這樣做唯一不便的地方就是必須在每一個包括 PHP 代碼的檔案的第一行加入如下語句:

#!/usr/local/bin/php

還要將這些檔案的屬性改成可執行。也就是說,要像處理用 Perl 或 sh 或其它任何腳本語系寫的 CGI 腳本一樣,使用以 #! 開頭的 shell-escape 機制來啟動它們。

在這種情況下,要使 PHP 能正確處理 PATH_INFOPATH_TRANSLATED 等變量的話,在編譯 PHP 直譯器時必須加入 --enable-discard-path 參數。