You can invoke the interpreter under Apache 2.2 running in Windows by associating the php file extension with the interpreter binary in the registry:
AddType application/x-httpd-php .php
AddHandler cgi-script .php
In the desired <Directory>-block, configure PHP CGI as follows:
Options +ExecCGI
## Use HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command
## to determine CGI script interpreter
## ("c:\program files\php-5.2.17\php-cgi.exe").
## This key must be created manually.
ScriptInterpreterSource Registry-Strict
You need to disable cgi.force_redirect in this case, which should be safe from what I understand. You could probably simply use php.exe instead of php-cgi.exe, though I'd like to have this confirmed from someone else.
Cazul 4: interpretorul PHP se află în afara directorului rădăcină web
O metodă foarte sigură este de a plasa binarul interpretorului PHP undeva în afara arborelui fișierelor pentru web. În /usr/local/bin, spre exemplu. Singurul dezavantaj al acestei opțiuni este că trebuie să introduceți următoarea linie:
#!/usr/local/bin/php
Pentru ca PHP să utilizeze informațiile din PATH_INFO și PATH_TRANSLATED în mod corect, interpretorul PHP trebuie compilat cu opțiunea de configurare --enable-discard-path.
mails dot php dot net-notes at gunter dot ohrner dot net ¶
1 year ago
Andras Rokob <rokoba at bolyai dot elte dot hu> ¶
6 years ago
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.
