Czy php.cgi korzysta z php-cgi.ini?

Remigiusz 'Enleth' Marcinkiewicz enleth w enleth.com
Wto, 26 Sty 2010, 19:26:13 CET


On Tuesday January 26 2010 18:44:25 Jacek Osiecki wrote:
> On Tue, 26 Jan 2010, Arkadiusz Rdest wrote:
> > Jacek Osiecki wrote:
> >> On Tue, 26 Jan 2010, Marcin Kurzyna wrote:
> >> Hmm, sprawdziłem php.cgi -i - i pokazało że używa
> >> /etc/php/php-cgi-fcgi.ini Dlaczego? Owszem, fcgi mam zainstalowane (za
> >> chwilę je usunę bo na nic się nie przyda chyba)
> >
> > a powinno ci sie przydac, bo FastCGI to najbezpieczniejszy i najszybszy
> > model odpalania prpocesów PHP.
> 
> Teoretycznie najbezpieczniejszy, ale za to wysoce problematyczny - nigdzie
> nie można znaleźć jednoznacznej informacji jak go używać... Bezpieczny to
> jest dopiero po pożenieniu z suexec/suphp, a prób zestawienia działającego
> zestawu fcgi+suphp miałem już serdecznie dosyć.

Po prostu odpalać procesy na koncie usera którego prawa mają mieć wykonywane 
skrypty? Do tego żadnego sucrapa nie trzeba, wystarczy spawn-fcgi i skrypt 
startowy przystosowany do pracy z wieloma instancjami usługi. Jako bonus 
dostaniesz niewrażliwość serwera HTTP i procesów PHP innych userów na złamanie 
zabezpieczeń, zwis lub restart pojedyńczej instancji, możliwość podania 
całkowicie innej konfiguracji albo nawet wersji PHP na konkretny vhost, a 
jakby pokombinować, powinno być możliwe nawet prawdziwe chrootowanie PHP np. 
na ~/public_html/ usera.

Swój skrypt startowy mogę udostępnić, jakby ktoś był zainteresowany. Nie 
jestem pewien, czy jest w pełni "the PLD way", ale IMHO jest wygodny i działa 
dobrze. Już dawno bym go podrzucił do skomentowania na -devel, ale czasu nie 
mam żeby dopracować i opisać...

>Do tego nie działa z APC,
> który daje takiego kopa że niejeden serwer uratował...

eAccelerator i xcache działają. Ten pierwszy w moich (bardzo nienaukowych i 
nieudokumentowanych) testach był pod fcgi szybszy. Jeśli nie potrzebujesz 
jakiejś konkretnej funkcjonalności którą ma tylko APC, może jeden z tych się 
nada?

>Jako mod_php - zać php.cgi jest potrzebne do odpalania pojedynczych rzeczy
>z crona. Tak, wiem - można mu wskazać jawnie plik konfiguracyjny - ale nawet
>o tym nie myślałem widząc jasny opis że php-cgi.ini jest includowane przy
>php.cgi :)

Odpalanie php.cgi z crona naprawdę ci działa? CGI to nie synonim dla CLI, 
programy działające jako CGI oczekują konkretnych danych od serwera HTTP w 
zmiennych środowiskowych, zwracają wyjście z (częściowymi) nagłówkami HTTP i 
generalnie zakładają, że odpalić je mógł tylko serwer HTTP i nic innego. Jeśli 
działa, to chyba bardziej z przypadku niż zamierzeń autorów PHP...


-- 
Remigiusz "Enleth" Marcinkiewicz, enleth w enleth.com
WWW http://enleth.com http://heroes.net.pl
JID enleth w jabster.pl
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : /mailman/pipermail/pld-users-pl/attachments/20100126/ef445fe3/attachment.sig 


Więcej informacji o liście dyskusyjnej pld-users-pl