Posts Tagged ‘php’

Apache MPM in seznam naloženih modulov …

Saturday, April 5th, 2008

Najprej kar na kratko, seznam naloženih modulov dobimo tako …

debian:~# apache2 -D DUMP_MODULES

priporočeno je da tiste ki jih ne potrebujemo onemogočimo.

Druga stvar pa je MPM, ki ga lahko izbiramo pri apacheju, kolikor sem gledal dokumentacijo je teh MPMjev na voljo X pa še več Smile . Privzeto pa se uporablja prefork, ki je ok, dokler niste na škatli z malo rama in dosti obiska. Za worker pa pravijo da bo vsega drugega prej zmanjkalo kot rama Grin , pa tudi to da nemoremo z njim uporabljati mod_php, ker je php …

pizda**ja

no, obstaja pa možnost da php poganjamo z FastCGI tako kot se to dela običajno, na LiteSpeedu in še nekaterih Httpd, ki jih bomo sedaj pustili na strani. Zato so skoz debate gor in dol kako je s Worker MPMjem samo sr*nje in težave. Pa ni čisto tako … samo Apachejev modul dela super, s PHP pa tudi nebi smelo biti težav glede na to da hostingi prav lepo furajo FastCGI PHP, kadar ni uporabljen Apache.

No zdej smo imeli apache2 s MPM prefork in mod_php … najprej potrebujemo tole:

apt-get install apache2-mpm-worker libapache2-mod-fcgid

nato še omogočimo FastCGI če že ni … (pri meni je bil po restartu Apacheja)

a2enmod fcgid

inštaliramo še module itd. če tega še nimamo (jaz že imam, ker sem prej laufal php na MPM prefork)

apt-get install php5-cgi php5-curl php5-gd php5-ldap php5-mysql php5-mysqli php5-sqlite php5-xsl

ter na koncu še povemo apacheju kaj naj dela s php datotekami …

<Directory /var/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
</Directory>

kar pa zna biti ZELO tečno … če imamo kup virtualhostov … pa pri vsakem dodajati … lahko pa tudi:

<Directory *>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
</Directory>

in je to to Smile . Manjkajo še samo nastavitve za MPM worker, tiste za MPM prefork pa moremo zbrisati …

# MPM – Worker
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0

tele so od tukaj, zato priredite za svojo konfiguracijo.

na koncu pa še restartamo Apacheja …

/etc/init.d/apache2 restart

Wink

Pa še ena malenkost, ki pride z FastCGI/PHP, ini direkotiv nemorete več nastavljati preko htaccess datotek ali znotraj , tako da recimo to več tam nebo delovalo:

php_value default_charset windows-1250

lahko pa to uredite preko php datotek, ali pa custom php.ini Smile .

Še linki, kaj sem študiral zadnje 2 dni .. (samo najnujnejše, drugače bi bilo par strani linkov Evil )
http://ivan.gudangbaca.com/installing_apache2_and_php5_using_mod_fcgid
http://my-experiments-with-it.blogspot.com/2006/05/how-does-preforkc-work.html
http://doughboy.wordpress.com/2008/02/13/apache-worker-and-php/
http://neosmart.net/…-php-isnt-thread-safe-yet/

php.ini

Monday, March 31st, 2008

Kaj bomo onemogočili za začetek ?

disable_functions = show_source, system, shell_exec, passthru, exec, popen, proc_open, symlink
expose_php = Off
register_globals = Off
allow_url_fopen = Off
allow_url_include = Off

verjetno bi se še našle stvari, ampak, kot sem rekel za začetek, ker sem na testnem s časom Smile .