Webserver software – PHP – 03 PHP 5.4.x basis configuratie
PHP 5.4.x basis configuratie
Configuratie van de “extension dir”
Om verschillende modules te laden (bijvoorbeeld MySQL) moet je meestal een module (extension…oftewel uitbreiding) laden, hiervoor moet je het pad opgeven waar deze zich bevinden. Open het configuratiebestand van PHP [PHP5Folder]\php.ini met het kladblok, en zoek de instellingen van “extension_dir”” op, vul hier de padnaam van de “extension folder” (ext) toe:
1 2 |
; Directory in which the loadable extensions (modules) reside. extension_dir = "[PHP5Folder]\ext" |
Activeren van veelgebruikte modules voor PHP
Het is raadzaam om deze modules te activeren voor PHP omdat deze ontzettend veel gebruikt worden, zo voorkom je toekomstige fouten/waarschuwingen in (gebruikte) scripts.
1 2 3 4 5 6 |
extension=php_bz2.dll extension=php_curl.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_mbstring.dll extension=php_zip.dll ?? De DLL zit niet in het PHP 5.4 ZIP bestand! |
Configuratie van “safe mode”.
Het probleem is dat het model waarop PHP gebouwd is, uitgaat van een server waarop iedereen elkaar vertrouwt, dat is niet in alle gevallen het geval. Stel dat iemand een onzorgvuldig geprogrammeerd php script op zijn website heeft staan, een hacker zou via dat script dan binnen kunnen komen, als we PHP dan niet in safe mode hebben staan, heeft deze hacker meteen toegang tot alle sites.
PHP is dus gebouwd om te draaien met de rechten van de webserver (apache), om toch een soort van beveiliging te bieden, is er de “safe mode” optie, die zorgt ervoor dat php geen file operaties uit kan voeren op andermans bestanden, zo kijkt php eerst wie de eigenaar is van het php script en vervolgens wie de eigenaar is van het doelbestand, als deze verschillen gaat de operatie niet door.
Wat betekent dit?
• Je kan met PHP in safe mode met scripts geen mappen maken en daar bestanden in plaatsen.
• Je kan wel via FTP mappen aanmaken, en daar vervolgens met PHP bestanden in plaatsen.
Open het configuratiebestand van PHP [PHP5Folder]php.ini met het kladblok, en zoek de instellingen van “Safe mode” op, verander de waarde van “off” naar “on”:
1 2 3 |
; Safe Mode ; safe_mode = on |
Sla het bestand op en herstart Apache.
Configuratie van “upload filesize”
Het kan voorkomen dat er grote bestanden geupload worden, aangezien Apache een onbeperkte bestands grootte upload limiet heeft, heeft PHP dat niet, deze staat standaard ingesteld op 2 MB, om dit te wijzigen volgen hier een voorbeeld om het bestands grootte upload limiet te verhogen naar 10 MB
Open het configuratiebestand van PHP [PHP5Folder]php.ini met het kladblok, en zoek het volgende gegeven op “upload_max_filesize”, en verander de waarde van “2M” naar “10M”
Testen van PHP
Om PHP te testen kan je een PHP bestand maken, en in de “root” van je “lege” website folder plaatsen, open het kladblok en voer deze gegevens in:
1 |
<?php phpinfo(); ?> |
Sla het bestand op als index.php en plaats het in je internet folder.
Het php commando “phpinfo” vraagt alle informatie op over PHP/Apache en je computer, dus als je nu je browser opstart en je IP nummer invult krijgt je als het goed is gegaan, PHP infomatie te zien zoals hieronder:
1 2 |
; Maximum allowed size for uploaded files. upload_max_filesize = 10M |
Hetzelfde geldt voor de “post_max_size”
1 2 3 4 |
; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. post_max_size = 10M |
Datum instellen:
Open het configuratiebestand van PHP [PHP5Folder]\php.ini met het kladblok, en zoek het volgende gegeven op “Date”, hier kun je de timezone instellen:
1 2 3 4 |
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Europe/Amsterdam |
Sla het bestand op en herstart Apache.