Πρόβλημα με php fopen

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
el02154
Δημοσιεύσεις: 119
Εγγραφή: 12 Δεκ 2007 20:17

Πρόβλημα με php fopen

Δημοσίευση από el02154 » 17 Ιαν 2011 10:43

Γεια σας παιδιά. έχω ένα πρόβλημα με την fopen στην php. Συγκεκριμένα έχω μια συνάρτηση που ελέγχει εάν μπορεί να ανοιχτεί ένα αρχείο. Αν ναι τότε η συσκευή είναι connected και αν αποτύχει η fopen η συσκευή δηλώνεται σαν disconnected. Το πρόβλημα είναι πως ενώ στην περίπτωση που η fopen μπορεί να ανοίξει το αρχείο παίζουν όλα καλά, στην άλλη περίπτωση αντί να μου επιστρέφει απλά ένα FALSE και να δηλώνεται σαν disconnected μου επιστρεφει "Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\NMS\main.php on line 147" και έτσι σταματά όλο το script.

Έχει κανείς καμιά ιδέα γιατί γίνεται αυτό; δηλαδή γιατί αντί να μου εσπιστρεφει απλά ένα FALSE φαίνεται να προσπαθεί η fopen να ανοίξει το αρχείο μέχρι να ξεπεραστεί το όριο τρεξίματος του script; Τον κώδικα τον παραθέτω παρακάτω:

Κώδικας: Επιλογή όλων

function DiropenRS($entityIP) {

$url = "http://".$entityIP."/cgi-bin/luci/ubiqam";
$opts = array('http' => array('proxy' => 'tcp://test.gr:8888', 'request_fulluri' => true));
$context = stream_context_create($opts);

$up = fopen($url,"r",0,$context);

if (!$up) {
    return(0);
}
else {
    return(1);
}
fclose($up);
}

mharis
Δημοσιεύσεις: 17
Εγγραφή: 14 Νοέμ 2009 23:03
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με php fopen

Δημοσίευση από mharis » 17 Ιαν 2011 14:10

Φαντάζομαι ότι λαμβάνεις το συγκεκριμένο error γιατί στις ρυθμίσεις της php σου έχεις τo max_execution_time = 60 και default_socket_timeout = 60 , έτσι η fopen προσπαθεί για 60 sec να συνδεθεί με αποτέλεσμα το script να κάνει timeout. Δοκίμασε να μειώσεις το default_socket_timeout. Δοκίμασε να βάλεις αυτό στο script σου

Κώδικας: Επιλογή όλων

ini_set('default_socket_timeout', 10); 

el02154
Δημοσιεύσεις: 119
Εγγραφή: 12 Δεκ 2007 20:17

Πρόβλημα με php fopen

Δημοσίευση από el02154 » 17 Ιαν 2011 14:15

mharis έγραψε:Φαντάζομαι ότι λαμβάνεις το συγκεκριμένο error γιατί στις ρυθμίσεις της php σου έχεις τo max_execution_time = 60 και default_socket_timeout = 60 , έτσι η fopen προσπαθεί για 60 sec να συνδεθεί με αποτέλεσμα το script να κάνει timeout. Δοκίμασε να μειώσεις το default_socket_timeout. Δοκίμασε να βάλεις αυτό στο script σου

Κώδικας: Επιλογή όλων

ini_set('default_socket_timeout', 10); 

Είσαι απλά ΦΟΒΕΡΟΣ!!! Με έσωσες!!!! Ευχαριστώ.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες