philos Δημοσ. 18 Αυγούστου 2015 Δημοσ. 18 Αυγούστου 2015 Υπάρχει το εξής πρόβλημα στο PHP script ενός server γνωστού μου. Για κάποιο λόγο, η πληροφορία που στέλνεται μέσω της $_POST (ένας array), είναι περικομμένος. Τρέχοντας τον κώδικα: print_r($vbulletin->GPC['sub']); exit;(μην σας τρομάζει, είναι στην πραγματικότητα το $_POST['sub'], απλά μιλάμε για τον διαχειριστή της μηχανής vBulletin.Πέρνουμε τα εξής αποτελέσματα: Αν δείτε στο τέλος, ο πίνακας είναι σωστά κλεισμένος, όμως λείπουν πληροφορίες και δεν μπορούμε να προσθέσουμε πάνω από 27-28 στοιχεία! [active] => 1 [displayorder] => 99 [nusergroupid] => -1 [time] => Array ( [0] => Array ( [cost] => Array ( [usd] => 5.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [1] => Array ( [cost] => Array ( [usd] => 10.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [2] => Array ( [cost] => Array ( [usd] => 15.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [3] => Array ( [cost] => Array ( [usd] => 20.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [4] => Array ( [cost] => Array ( [usd] => 25.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [5] => Array ( [cost] => Array ( [usd] => 30.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [6] => Array ( [cost] => Array ( [usd] => 35.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [7] => Array ( [cost] => Array ( [usd] => 40.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [8] => Array ( [cost] => Array ( [usd] => 45.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [9] => Array ( [cost] => Array ( [usd] => 50.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [10] => Array ( [cost] => Array ( [usd] => 55.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [11] => Array ( [cost] => Array ( [usd] => 60.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [12] => Array ( [cost] => Array ( [usd] => 65.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [13] => Array ( [cost] => Array ( [usd] => 70.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [14] => Array ( [cost] => Array ( [usd] => 75.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [15] => Array ( [cost] => Array ( [usd] => 80.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [16] => Array ( [cost] => Array ( [usd] => 85.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [17] => Array ( [cost] => Array ( [usd] => 90.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [18] => Array ( [cost] => Array ( [usd] => 95.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [19] => Array ( [cost] => Array ( [usd] => 100.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 1 [units] => M [recurring] => 1 [ccbillsubid] => ) [20] => Array ( [cost] => Array ( [usd] => 120.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [21] => Array ( [cost] => Array ( [usd] => 150.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [22] => Array ( [cost] => Array ( [usd] => 180.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [23] => Array ( [cost] => Array ( [usd] => 210.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [24] => Array ( [cost] => Array ( [usd] => 240.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [25] => Array ( [cost] => Array ( [usd] => 270.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [26] => Array ( [cost] => Array ( [usd] => 300.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [27] => Array ( [cost] => Array ( [usd] => 330.00 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 3 [units] => M [ccbillsubid] => ) [28] => Array ( [cost] => Array ( [usd] => 360 [gbp] => 0.00 [eur] => 0.00 [aud] => 0.00 [cad] => 0.00 ) [length] => 4 ) ) Τι μπορεί να φταίει;Μας έχουν πει για mod_security rule, δεν είναι. Επίσης κάτι για 32bit kernel, ούτε αυτό πρέπει να είναι αφού στον ίδιο server, σε άλλη εγκατάσταση vbulletin, μπορούμε να προσθέσουμε χωρίς πρόβλημα τα ίδια δεδομένα και παραπάνω. 1
exarhis Δημοσ. 18 Αυγούστου 2015 Δημοσ. 18 Αυγούστου 2015 Νομιζω ότι μας δίνεις λίγες πληροφορίες. Φίλος δώσε και λίγη html . Αλλά από την άλλη λες ότι στον ίδιο εξυπηρετητή τρέχει σε άλλο λογαριασμό. Κοίτα τις διαφορές στην html
defacer Δημοσ. 18 Αυγούστου 2015 Δημοσ. 18 Αυγούστου 2015 Πιθανότατα http://php.net/manual/en/info.configuration.php#ini.max-input-vars Αν όχι αυτό τότε ρίξε μια μάτια και στο http://php.net/manual/en/ini.core.php#ini.post-max-size Αν τίποτα από τα 2 τότε κάπου κάτι γίνεται λάθος σε επίπεδο κώδικα.
philos Δημοσ. 18 Αυγούστου 2015 Μέλος Δημοσ. 18 Αυγούστου 2015 Τελικά το max_input_vars ήταν!! Ευχαριστώ Η πλάκα είναι ότι σε προσπάθειές μου να αναπαράγω το πρόβλημα στο localhost μου (WAMP), βάζοντας χαμηλότατες τιμές στα διάφορα limits του php.ini, το σύστημα και πάλι λειτουργούσε κανονικά με εξαίρεση μια φορά που δεν μπορούσε ούτε τα login στοιχεία να στείλει. anyway, thanks again
philos Δημοσ. 25 Οκτωβρίου 2016 Μέλος Δημοσ. 25 Οκτωβρίου 2016 Παιδιά, το πρόβλημα επέστρεψε. Βάλαμε το max_input_vars ακόμα και στο 10000, αλλά χωρίς αποτέλεσμα διόρθωσης. Βέβαια μιλάμε για μια μηχανή vBulletin που η εν λόγω φόρμα ενσωματώνει όλα τα forums της (και μιλάμε για 1000+ forums), οπότε κάτι παίζει με τα όρια της PHP μάλλον. Η ερώτησή μου: είναι εφικτό να βάλω ένα print του πόσα input vars προσπαθεί να στείλει η φόρμα/ το script, ώστε να βεβαιωθούμε ότι είναι θέμα του max_input_vars; Διάβασα ότι αυτό το όριο της PHP αφορά τους $_GET, $_POST και $_COOKIE. Οπότε πως μπορώ να εκτυπώσω τον integer των variables τους; Έστω για να δούμε μέχρι που φτάνει αυτό που προσπαθεί να στείλει η φόρμα... Ίσως με μια πρόσθεση sizeof() και των τριών super globals;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα