Πως να παρακάμψετε τις ρυθμίσεις στην PHP

24 Μαρ 2010 | Development

Δεν επιτρέπονται τα σχόλια.


php

Το να ρυθμίσετε την PHP είναι μια εύκολη διαδικασία. Μπορείτε να αλλάξετε σχεδόν κάθε δυνατότητα του Interpreter από το αρχείο ρυθμίσεων php.ini. Για παράδειγμα μπορείτε να αλλάξετε τον τρόπο διαχείρισης των σφαλμάτων, να αλλάξετε το ποσό της μνήμης που θα χρησιμοποιεί και άλλα.

Δυστυχώς, προβλήματα μπορεί να προκύψουν όταν μεταφέρετε την εφαρμογή σας σε ένα άλλο Server όπως για παράδειγμα σε ένα Server στο Ιντερνέτ ή όταν διανείμετε τον κώδικα σας στους πελάτες σας. Συνήθως οι ISP δεν σας δίνουν τη δυνατότητα να διαχειριστείτε το php.ini, ειδικά σε Shared Hosting Servers. Αυτός είναι ένας λόγος για να μην μπορέσει η εφαρμογή σας να λειτουργήσει.

Ευτυχώς, στην περίπτωση που δεν έχετε πρόσβαση στο php.ini δεν είναι απαραίτητο να μεταφερθείτε σε ένα ιδιόκτητο ακριβό Server για να έχετε πρόσβαση στο php.ini. Οι δύο μέθοδοι που ακολουθούν σας επιτρέπουν να παρακάμπτετε το αρχείο php.ini και να αλλάζετε τις παραμέτρους μέσα από την εφαρμογή σας.

Μονάδες Οδηγιών του Apache

Η πλειονότητα των ISP παρέχει Apache Web Servers σε πλατφόρμες Linux ή Unix. Συνήθως έχουν ενεργοποιήσει της παραμέτρους του Apache “AllowOverride Options” ή “AllowOverride All” στο αρχείο httpd.conf. Αυτές οι παράμετροι σας επιτρέπουν να δημιουργήσετε αρχεία .htaccess στην εφαρμογή σας για να παρακάμψετε τις εξ ορισμού παραμέτρους που έχει ορίσει ο διαχειριστής του Server για τον Apache και την PHP.

Στο αρχείο .htacces επιτρέπονται δυο εντολές για να αλλάξετε τις ρυθμίσεις της PHP

php_flag <ονομα-παραμετρου-boolean> on|off
php_value <ονομα-παραμέτρου> <τιμή>

η εντολή php_flag θα πρέπει να χρησιμοποιείτε με τιμές on|off, ενώ η εντολή php_value με κάθε άλλη τιμή. Για παράδειγμα το αρχείο .htaccess που ακολουθεί θα απενεργοποιήσει τα globals, θα ορίσει ως μέγιστο μέγεθος αρχείου για ανέβασμα στο Server στα 20MB, και θα επιτρέψει στα αρχεία PHP να εκτελούνται για 10 λεπτά (600 δευτερόλεπτα).

php_flag register_globals off
php_value upload_max_filesize 20M
php_value max_execution_time 600

Ωστόσο, αυτή η λύση δεν είναι συμβατή με όλους τους Apache Server που θα συναντήσετε ή με άλλους Servers όπως είναι ο IIS.

Ρυθμίσεις της PHP κατά το χρόνο εκτέλεσης

Μια ποιο εύκολα μεταφερόμενη και ανεξάρτητη από το Server λύση είναι η συνάρτηση ini_set της PHP. Αυτή η συνάρτηση σας επιτρέπει να αλλάξετε τις παραμέτρους της PHP κατά το χρόνο εκτέλεσης της εφαρμογής σας. Η συνάρτηση μπορεί να δεχτεί δύο στοιχεία. ini_set(όνομα παραμέτρου, τιμή)

<?php
ini_set('register_globals', 0);
ini_set('upload_max_filesize', '20M');
ini_set('max_execution_time', 600);
?>

Λογικές τιμές, αριθμοί και παράμετροι μπορούν να χρησιμοποιηθούν εναλλακτικά. Η PHP θα προσπαθήσει να μετατρέψει κάθε τιμή στον τύπο που πρέπει να είναι.

Μερικές σχετικές συναρτήσεις είναι οι ακόλουθες :

ini_get(όνομα_παραμέτρου)

Παίρνει την τιμή που έχει οριστεί για την παράμετρο. Να έχετε κατά νου πως υπάρχει περίπτωση να μην λειτουργήσει σε κάθε περίπτωση η συνάρτηση ini_get()

ini_get_all([επέκταση])

Επιστρέφει όλες τις τιμές των παραμέτρων σαν ένα συσχετισμένο πίνακα. Η προαιρετική τιμή [επέκταση] επιστρέφει τις τιμές που είναι ορισμένες για τη συγκεκριμένη επέκταση. Για παράδειγμα ‘allow_url_fopen’

get_cfg_var(όνομα_παραμέτρου)

Επιστρέφει την τιμή που έχει η παράμετρος στο αρχείο php.ini. (δεν θα επιστρέψει τις τιμές που έχουν οριστεί στα .htaccess και στο ini_set)

ini_restore(όνομα_παραμέτρου)

Επαναφέρει την παράμετρο στην προκαθορισμένη τιμή της

Περισσότερα για τον CorfuGmr

CorfuGmr

Ονομάζομαι Νίκος και ασχολούμαι με το internet και την κατασκευή ιστοσελίδων από το 1998. Σήμερα, μετά από 12 χρόνια γεμάτα με ενημέρωση, εκπαίδευση και εξάσκηση έχω ανεβάσει σε ένα άλλο επίπεδο τις γνώσεις μου και τις τεχνικές μου. Στα άρθρα μου προσπαθώ να σας δείξω τα μικρά, αλλά σημαντικά πράγματα που με έχουν ανεβάσει σε αυτό το επίπεδο.








Σχόλια

Δεν υπάρχουν σχόλια ακόμα.

Συγνώμη, τα σχόλια για αυτό το άρθρο είναι κλειστά.



^
Top
css.php