Capitolul 14 · 14.5
Setări PHP per director și prin .htaccess
Uneori doriți ca un singur director să funcționeze diferit față de restul site-ului dumneavoastră. De exemplu, un script care are nevoie de mai multă memorie sau de o limită de încărcare mai mare. Acest lucru este posibil cu un fișier .htaccess în acel director. Serverele noastre rulează LiteSpeed, iar LiteSpeed citește regulile PHP din .htaccess.
Atenție: O greșeală în .htaccess poate face ca întregul dumneavoastră site web (sau directorul) să devină inaccesibil, cu o eroare 500. Faceți mai întâi o copie a fișierului și testați imediat după salvare. Cum găsiți și editați .htaccess, citiți în Afișarea și editarea fișierelor ascunse precum .htaccess.
Modificarea unei opțiuni PHP pentru un singur director
Introduceți în fișierul .htaccess al acelui director linii precum acestea:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Pentru opțiunile care sunt activate sau dezactivate, folosiți php_flag, de exemplu php_flag display_errors off.
Regulile se aplică acelui director și tuturor directoarelor de sub acesta. Dacă le introduceți în .htaccess din public_html, se vor aplica întregului dumneavoastră site web.
Sfat: Doriți să modificați o opțiune pentru întregul dumneavoastră pachet? Faceți acest lucru mai degrabă în Select PHP version (consultați Opțiuni PHP: upload_max_filesize, memory_limit și max_execution_time). Astfel totul se află într-un singur loc și nu uitați mai târziu că mai există reguli în .htaccess.
O altă versiune PHP pentru un singur director nu este posibilă
Întregul dumneavoastră pachet folosește versiunea pe care ați ales-o în Select PHP version (consultați Alegerea versiunii de PHP (Select PHP version)). O altă versiune pentru un singur director sau subdomeniu, de exemplu cu o linie SetHandler application/x-lsphp83 în .htaccess, nu funcționează pe serverele noastre. Dacă o astfel de linie se mai află încă într-un fișier .htaccess, eliminați-o.
Trebuie neapărat ca un singur site web să funcționeze pe o altă versiune decât restul? Plasați atunci acel site web într-un pachet de hosting separat. Dacă un site web vechi funcționează doar pe o versiune veche, actualizați-l (consultați Erori după o actualizare PHP și găsirea jurnalului de erori).
Verificarea funcționării
- Creați în director un fișier info-test.php cu această singură linie: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Deschideți-l în browserul dumneavoastră, de exemplu https://www.domeniuldumneavoastra.ro/magazinvechi/info-test.php. Veți vedea versiunea PHP și memoria.
- Ștergeți fișierul imediat după aceea. Nu lăsați fișiere de test cu informații despre serverul dumneavoastră pe site-ul dumneavoastră.
Ce nu funcționează?
- Un fișier php.ini propriu în directorul dumneavoastră nu are niciun efect. Folosiți Select PHP version sau .htaccess.
- disable_functions și open_basedir nu pot fi modificate prin .htaccess. Acestea țin de securitatea serverului.
- Valorile care apar la PHP Settings ca suprascriere pentru domeniu (consultați PHP Settings în DirectAdmin sau Select PHP version: care este diferența?) au prioritate față de .htaccess.
