downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Instalat ca modul Apache> <Cazul 3: stabilirea doc_root sau user_dir
[edit] Last updated: Fri, 07 Jun 2013

view this page in

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
la începutul fiecărui fișier care conține tag-uri PHP. De asemenea va trebui să faceți fișierul executabil. Adică tratați-l exact ca pe un script CGI scris în Perl, sau sh, sau orice alt limbaj de scripting care utilizează mecanismul #! de evadare din învelișul sistemului pentru a se lansa.

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.



add a note add a note User Contributed Notes Cazul 4: interpretorul PHP se află în afara directorului rădăcină web - [2 notes]
up
0
mails dot php dot net-notes at gunter dot ohrner dot net
1 year ago
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.
up
-1
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.

 
show source | credits | sitemap | contact | advertising | mirror sites