Ce face ini_set / ini_get
ini_set modifică o setare de configurare PHP pe durata scriptului care rulează. Fișierul php.ini nu se schimbă, iar alte scripturi nu sunt afectate. ini_get citește valoarea curentă, mereu ca text. Există și aliasul ini_alter, identic cu ini_set.
Nu toate setările pot fi schimbate din cod. De exemplu, upload_max_filesize și post_max_size se schimbă doar în php.ini, .htaccess sau .user.ini, deoarece cererea a fost deja primită când pornește scriptul. Pentru acestea, ini_set returnează false.
Parametri
| Parametru | Descriere |
|---|---|
$option |
Numele setării, de exemplu "display_errors" sau "memory_limit". |
$value |
Valoarea nouă. |
Ce returnează
ini_set: valoarea veche, ca text, sau false dacă setarea nu poate fi schimbată. ini_get: valoarea curentă sau false dacă setarea nu există.
Exemple
Exemplul 1: Schimbarea și citirea unei setări
<?php
ini_set("memory_limit", "256M");
var_dump(ini_get("memory_limit"));
ini_set("display_errors", "0");
var_dump(ini_get("display_errors"));
Rezultat
string(4) "256M"
string(1) "0"
Exemplul 2: Setări care nu pot fi schimbate din cod
<?php
var_dump(ini_set("upload_max_filesize", "100M"));
var_dump(ini_get("setare_inexistenta"));
Rezultat
bool(false)
bool(false)
Exemplul 3: Afișarea erorilor doar pe calculatorul tău
<?php
$dezvoltare = true;
ini_set("display_errors", $dezvoltare ? "1" : "0");
ini_set("log_errors", "1");
ini_set("error_log", "erori.log");
echo "display_errors = " . ini_get("display_errors");
Rezultat
display_errors = 1
Greșeli frecvente
- Încerci să mărești limita de upload cu
ini_set("upload_max_filesize", ...). Nu are efect. Schimb-o înphp.inisau în panoul de găzduire. - Lași
display_errorspornit pe site-ul public. Vizitatorii văd căi de fișiere și detalii interne. Pe producție, afișarea erorilor trebuie oprită și erorile scrise în jurnal. - Compari
ini_getcu un boolean. Rezultatul este text, de exemplu"1"sau"".
Comenzi înrudite
set_time_limit: Stabilește câte secunde poate rula scriptul înainte să fie oprit.parse_ini_file: Citește un fișier de configurare .ini și îl transformă într-un tablou.memory_get_usage / memory_get_peak_usage: Returnează câtă memorie folosește scriptul acum (memory_get_usage) sau maximul atins (memory_get_peak_usage).ini_restore: Readuce o setare PHP la valoarea din php.ini, după ce a fost schimbată cu ini_set.ini_get_all: Returnează toate setările PHP sau doar pe cele ale unei extensii, cu valorile lor.