Κεφάλαιο 14 · 14.5
PHP-ρυθμίσεις ανά φάκελο και μέσω .htaccess
Μερικές φορές θέλετε ένας συγκεκριμένος φάκελος να λειτουργεί διαφορετικά από την υπόλοιπη ιστοσελίδα σας. Για παράδειγμα ένα script που χρειάζεται περισσότερη μνήμη ή υψηλότερο όριο ανεβάσματος αρχείων. Αυτό μπορείτε να το ρυθμίσετε με ένα αρχείο .htaccess σε εκείνον τον φάκελο. Οι διακομιστές μας λειτουργούν με LiteSpeed, και το LiteSpeed διαβάζει κανόνες PHP στο .htaccess.
Προσοχή: Ένα λάθος στο .htaccess μπορεί να κάνει ολόκληρη την ιστοσελίδα σας (ή τον φάκελο) μη προσβάσιμη, με σφάλμα 500. Δημιουργήστε πρώτα ένα αντίγραφο του αρχείου και δοκιμάστε αμέσως μετά την αποθήκευση. Πώς βρίσκετε και επεξεργάζεστε το .htaccess, διαβάστε το στο Εμφάνιση και επεξεργασία κρυφών αρχείων όπως το .htaccess.
Προσαρμογή μιας επιλογής PHP για έναν φάκελο
Προσθέστε στο .htaccess εκείνου του φακέλου γραμμές όπως αυτές:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Για επιλογές που είναι ενεργοποιημένες ή απενεργοποιημένες, χρησιμοποιείτε php_flag, για παράδειγμα php_flag display_errors off.
Οι γραμμές ισχύουν για εκείνον τον φάκελο και όλους τους υποφακέλους του. Αν τις προσθέσετε στο .htaccess του public_html, τότε ισχύουν για ολόκληρη την ιστοσελίδα σας.
Συμβουλή: Θέλετε να προσαρμόσετε μια επιλογή για ολόκληρο το πακέτο σας; Κάντε το τότε καλύτερα στο Select PHP version (δείτε PHP-επιλογές: upload_max_filesize, memory_limit και max_execution_time). Έτσι όλα βρίσκονται σε ένα σημείο και δεν ξεχνάτε αργότερα ότι υπάρχουν ακόμα γραμμές στο .htaccess.
Διαφορετική έκδοση PHP για έναν μόνο φάκελο δεν είναι δυνατή
Ολόκληρο το πακέτο σας χρησιμοποιεί την έκδοση που έχετε επιλέξει στο Select PHP version (δείτε Η επιλογή της έκδοσης PHP (Select PHP version)). Μια διαφορετική έκδοση για έναν φάκελο ή subdomain, για παράδειγμα με μια γραμμή SetHandler application/x-lsphp83 στο .htaccess, δεν λειτουργεί στους διακομιστές μας. Αν υπάρχει ακόμη τέτοια γραμμή σε ένα αρχείο .htaccess, αφαιρέστε την.
Πρέπει πραγματικά μία ιστοσελίδα να λειτουργεί σε διαφορετική έκδοση από τις υπόλοιπες; Τοποθετήστε τότε εκείνη την ιστοσελίδα σε ξεχωριστό πακέτο hosting. Αν μια παλιά ιστοσελίδα λειτουργεί μόνο ακόμη σε παλιά έκδοση, φροντίστε να ενημερωθεί (δείτε Σφάλματα μετά από αναβάθμιση PHP και εύρεση του αρχείου καταγραφής σφαλμάτων).
Έλεγχος αν λειτουργεί
- Δημιουργήστε στον φάκελο ένα αρχείο info-test.php με αυτή τη μία γραμμή: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Ανοίξτε το στον browser σας, για παράδειγμα https://www.yourdomain.gr/oudewinkel/info-test.php. Θα δείτε την έκδοση PHP και τη μνήμη.
- Διαγράψτε αμέσως το αρχείο μετά. Μην αφήνετε αρχεία δοκιμής με πληροφορίες σχετικά με τον διακομιστή σας στην ιστοσελίδα σας.
Τι δεν λειτουργεί;
- Ένα δικό σας php.ini στον φάκελό σας δεν έχει καμία επίδραση. Χρησιμοποιήστε το Select PHP version ή το .htaccess.
- Τα disable_functions και open_basedir δεν μπορείτε να τα προσαρμόσετε μέσω .htaccess. Αυτά ανήκουν στην ασφάλεια του διακομιστή.
- Τιμές που έχουν οριστεί στις PHP Settings ως παράκαμψη για το domain (δείτε PHP Settings στο DirectAdmin ή Select PHP version: ποια είναι η διαφορά;) υπερισχύουν του .htaccess.
