Inhoudsopgave:
- Hoe PHP-sessie-time-out te wijzigen
- Andere PHP-sessieparameters wijzigen
- PHP-functies en klassen uitschakelen
- PHP-foutweergave wijzigen
- PHP-resourcelimieten wijzigen
Video: ★ Inbreng Geert Wilders Algemene Politieke Beschouwingen 2019 ★ APB 18-09-2019 HD 2024
Hieronder volgen enkele veelvoorkomende PHP-configuratiewijzigingen behoefte aan een server met PHP, inclusief het wijzigen van sessieparameters en het uitschakelen van functies en klassen.
Hoe PHP-sessie-time-out te wijzigen
Wanneer u sessies gebruikt voor uw toepassing, worden de gegevens meestal opgeslagen in bestanden op de server (hoewel dit ook kan worden geconfigureerd in de php. ini). Sessies worden beïnvloed door een garbage collection-proces dat dode sessies opruimt, zoals die welke gedurende een bepaald aantal minuten niet zijn gebruikt.
Standaard kijkt het garbage collection-proces naar sessies met een levensduur van 1, 440 seconden, wat betekent dat de gebruiker 1, 440 seconden inactief moet zijn, en bij de volgende poging, zijn sessie kan al dan niet verlopen zijn.
Een veel voorkomende verandering is dat afvalverwerkingsproces, ty om het langer te maken. Deze wijziging wordt meestal geïmplementeerd in de serverbrede configuratie, maar kan ook van toepassing zijn op siteniveau.
De php. ini setting om dit gedrag te beheersen is
sessie. gc_maxlifetime = 1440
Andere PHP-sessieparameters wijzigen
Er kunnen nog vele andere parameters worden ingesteld om te bepalen hoe sessies zich gedragen. Dingen zoals waar sessiebestanden worden opgeslagen op de server en of ze cookies gebruiken, kunnen worden gewijzigd. Enkele van de meer algemene veranderingen zijn het instellen van het domein voor de sessiecookie en de naam van de sessie.
Beide zijn meestal ingesteld op siteniveau. De standaardwaarde voor het cookie_domein is leeg, zoals hier wordt weergegeven:
sessie. name = PHPSESSID-sessie. cookie_domain =
PHP-functies en klassen uitschakelen
U kunt de php gebruiken. ini om ingebouwde functies of klassen uit te schakelen. Misschien merk je dat je niet wilt dat mensen bepaalde PHP-functies gebruiken of dat er een beveiligingslek is ontdekt in een bepaalde functie. In elk geval kunt u de functie of klasse uitschakelen met behulp van deze richtlijnen:
disable_functions = disable_classes =
Elke functie verwacht dat een door komma's gescheiden lijst van functies of klassen wordt uitgeschakeld. U wilt bijvoorbeeld de functie exec () uitschakelen. De volgende lijst toont een eenvoudige PHP-pagina om deze functionaliteit te testen.
php $ passwd = exec ("ls -la / etc / passwd"); print "{$ passwd}n"; ? >
De pagina ziet er in een browser als volgt uit:
De php wijzigen. ini om deze functie uit te schakelen betekent het gebruik van deze richtlijn:
disable_functions = exec
Nadat Apache opnieuw is opgestart, wordt de wijziging van kracht. Herladen van de pagina resulteert nu in de getoonde waarschuwing.
Als u een hostingprovider gebruikt, is de functie exec () mogelijk al uitgeschakeld. Het is ook mogelijk dat u de waarschuwing niet ziet als uw PHP-configuratie geen fouten weergeeft.
PHP-foutweergave wijzigen
Er zijn verschillende configuratierichtlijnen rond de foutendisplay voor PHP. Een ontwikkelingsserver kan bijvoorbeeld altijd fouten weergeven. Dit is ingesteld met de richtlijn display_errors:
display_errors = On
Waarschijnlijk geeft een productieserver nooit fouten weer voor de gebruiker:
display_errors = Off
Een gerelateerde richtlijn is de richtlijn error_reporting. Deze complexe richtlijn informeert PHP wat te laten zien voor fouten. U kunt PHP configureren om alleen fatale fouten te melden of u kunt meer kleine fouten weergeven, zoals kennisgevingen.
De instructie error_reporting is enigszins gecompliceerd. Zie PHP. net voor meer informatie als u deze richtlijn moet wijzigen.
PHP-resourcelimieten wijzigen
Er zijn tijden dat u de maximale toegestane bestandsgrootte moet wijzigen, bijvoorbeeld wanneer het bestand via een POST-formulier wordt ontvangen of direct wordt geüpload of op een andere manier wordt ontvangen. De upload_max_filesize-instructie stelt de maximale bestandsgrootte in die kan worden geüpload, terwijl de post_max_size-instructie de maximale grootte van een POST-formulier instelt. Als u formulieren toestaat om bestanden te uploaden, is de kans groot dat u beide richtlijnen moet wijzigen.
Bovendien kunt u merken dat u de geheugenlimieten die zijn opgelegd op een bepaald PHP-script of de uitvoeringstijd die een script uitvoert, moet wijzigen. Als een gebruiker bijvoorbeeld een groot bestand uploadt, kan dit enkele minuten duren. De memory_limit-instructie stelt de hoeveelheid geheugen in die door een PHP-programma kan worden gebruikt en de richtlijn max_execution_time bepaalt hoe lang een programma kan worden uitgevoerd.
U kunt de maximale tijd voor een script wijzigen door de max_execution_time in de php te wijzigen. ini of met behulp van de functie set_time_limit () binnen een afzonderlijk script. De functie set_time_limit () is een gebruikelijke manier om het probleem van een langlopend script op te lossen met behoud van de server-brede max_execution_time richtlijnwaarde.