Τώρα, πρέπει να αφήσετε μια διεπαφή για τους χρήστες να τροποποιούν παρόμοια αρχεία διαμόρφωσης μέσω της διεπαφής ιστού, ο κύριος τρόπος είναι να καλέσετε το κέλυφος Linux scrip{filter}t από την PHP, οπότε τώρα επικολλήστε ένα κέλυφος linux που μπορεί να τροποποιήσει αυτό το αρχείο διαμόρφωσης.
Αρχικά, το αρχείο διαμόρφωσης μορφοποιείται ως εξής:
Παραδείγματα είναι τα εξής, config.ini:
Το αρχείο διαμόρφωσης περιέχει 3 μονάδες, που αντιπροσωπεύουν 3 κύριες πτυχές: βάση δεδομένων, επιχείρηση, εκτός σύνδεσης. Κάθε μονάδα έχει το δικό της όνομα πεδίου και τιμή πεδίου.
Το ιστολόγιο που αναφέρεται παραπάνω μπορεί να διαβάσει ένα τέτοιο αρχείο διαμόρφωσης και προς το παρόν πρόκειται να τροποποιήσουμε αυτό το αρχείο διαμόρφωσης μέσω του κελύφους Linux.
Σχεδιάσαμε ένα πρόγραμμα που ονομάζεται modify_config_file και το τροποποιήσαμε χρησιμοποιώντας μια μορφή όπως ./modify_config_file unit1-field1=changed_value1 unit2-field1=changed_value2 (οι παράμετροι μπορούν να προστεθούν ανάλογα με τις ανάγκες).
Δεν είναι δύσκολο να επιτευχθεί η δυνατότητα τροποποίησης του αρχείου διαμόρφωσης, 20-30 γραμμές μπορούν να λύσουν το πρόβλημα. Ωστόσο, με βάση την αρχή "όλες οι είσοδοι είναι επιβλαβείς", είναι απαραίτητο να προσθέσετε διάφορες επεξεργασίες ανοχής σφαλμάτων στο κέλυφος, εάν η εισαγωγή παραμέτρων χρήστη είναι λανθασμένη, για να μπορέσετε να υπενθυμίσετε στον χρήστη εγκαίρως και να εντοπίσετε το πρόβλημα, τα ακόλουθα βασίζονται σε μια τέτοια αρχική πρόθεση του κελύφους, φυσικά, το όνομα είναι modify_config_file:
Ο χρήστης τροποποιεί τη διαμόρφωση με την ακόλουθη εντολή:
Η έξοδος έχει ως εξής:
Μεταξύ αυτών, η πρώτη γραμμή υποδεικνύει ότι το διάστημα αριθμού γραμμής όπου βρίσκεται η μονάδα BUSINESS, δώστε προσοχή στο διάστημα ανοίγματος. Η δεύτερη γραμμή αντιπροσωπεύει όλους τους αριθμούς γραμμών που ταιριάζουν με το πεδίο, καθώς μπορεί να υπάρχουν πολλές μονάδες του ίδιου πεδίου. Η τρίτη γραμμή υποδεικνύει τον αριθμό γραμμής πεδίου που τελικά εμπίπτει στο διάστημα μονάδας. Η τέταρτη γραμμή αντιπροσωπεύει το αποτέλεσμα της αναθεώρησης της σειράς.
Επιπλέον, είναι πολύ πιθανό η εισαγωγή του χρήστη να μην συμμορφώνεται με τη μορφή και να αναφέρονται και να στοχεύονται τα ακόλουθα σφάλματα:
Εάν θέλετε να το εφαρμόσετε σε άλλα αρχεία διαμόρφωσης, πρέπει να τροποποιήσετε τη διαδρομή και το όνομα αρχείου του αρχείου διαμόρφωσης στο σενάριο:
|