begin process at 2012 02 13 07:38:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > FONCTION SLEEP CHEZ FREE BLOQUÉE... DÉBLOQUÉE

FONCTION SLEEP CHEZ FREE BLOQUÉE... DÉBLOQUÉE


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :sleep, free, bloqué, débloqué Niveau :Débutant Date de création :18/07/2006 Vu :8 703

Auteur : djmoa

Ecrire un message privé
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Salutation a tous... je tentais de dévelloper unen petite apli, quand je me suis rendu compte que ces $\#! d'administrateurs de free avaient bloqué la fonction sleep (qui n'est pas utile a tout le monde mais a moi si) ...
Quel dommage de ne pas pouvoir l'utiliser !! ho mais que vais je faire ??? ben ma fonction sleep perso ... bon, cherchez pas a faire en dessous de la seconde, et la première seconde est arrondie ... vous allez comprendre pourquoi

Source

  • function Nsleep($nbsec) //$nbsec c'est le nombre de secondes
  • {
  • $tps=time();
  • while($tps+$nbsec!=time()){}
  • }
function Nsleep($nbsec)      //$nbsec c'est le nombre de secondes
{
	$tps=time();
	while($tps+$nbsec!=time()){}
}

 Conclusion

bon, alors pour les débutants, j'enregistre dans $tps le nb de secondes écoulées depuis le 1° janvier 70 à 00 GMT, et je fais rammer le serveur jusqu'à arriver à $tps + le temps que je veux attendre....

bon, je croi pas que cette astuce ai été publiée, sinon toutes mes excuses...
en espérant que ca vous serve (j'ai otament vu un chat sur ce site qui marchait pas chez free a cause de ca....)


 Sources du même auteur

CONTOURNER LIMITE DES 2MO POUR L'ENVOIE DE FICHIERS (CHEZ FR...

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

 Sources en rapport avec celle ci

DÉBRIDAGE DES LIENS ET FTP FREE. par R3dDragon
Source avec une capture EASY SITE, CRÉER RAPIDEMENT UN SITE WEB / INTRANET / EXTRANE... par apmneo7114
CONTOURNER LIMITE DES 2MO POUR L'ENVOIE DE FICHIERS (CHEZ FR... par djmoa
Source avec Zip Source avec une capture PHPFREECHAT - UN SERVEUR DE CHAT GRATUIT EN PHP + AJAX par Kerphi1
UN UPLOAD SIMPLE MAIS QUI FONCTIONNE CHEZ FREE par cladx

Commentaires et avis

Commentaire de garfield90 le 18/07/2006 14:50:12

je vois un petit soucis a ton script, le cas qui n'arrive "jamais".

Imagine la grosse charge du serveur et ton while dure plus d'1 seconde, t'as condition est toujours valable mais ton script ne s'arretera jamais.

Mets a la place du != un >=, et verifie aussi que $nbSec est positif et numérique, ca t'évitera d'autres soucis  (en particulier les boucles infinies)

Sur ce, script tout a fait a son niveau (débutant) mais tu pourrais etre un peu plus précis en utilisant la fonction microtime, meme si cela est peu etre trop précis.

Commentaire de raoullevert le 19/07/2006 06:38:29

Salut,

Tres sincerement, tu vas te mettre free a dos ! Faire 'ramer' le serveur avec une 'boucle infinie', ca risque de les amuser !
  De toutes façons, ce genre de cas est prevu, et ton script a un temps maximum pour s'executer, apres lequel il est scratché purement et simplement. Et la , free a bloqué cette limitation !
  Ton script fonctionnera donc bien pour des courtes durées (je crois que c'est 30s max, a voir ....)
  
  Bien essayé :-)

Commentaire de djmoa le 19/07/2006 09:37:46

tout d'abord merci pour vos commentaires...
pour le $tps+$nbsec>=time() j'ai pensé au cas de figure seulement après avoir posté le code, et comme tu le dit, ca n'arrive "jamais" (sauf quand ca arrivera). mais qui sais, une opération de maintenance ou autre et je serai grillé ...
pour le fait que le nombre de secondes soit un positif numérique, honnetement, je suis pas encore a fond dans le php et je sais pas comment verifier que ce soit un numérique, mais ca doit etre dans plein de sources deja, et pour le fait qu'il soit positif, je considère que c'est a l'utilisateur de le faire, mais bonne remarque quand meme... je ne connais pas la fonction microtime, mais ca meriterai de s'y interesser

pour ce qui est de me mettre free à dos, honnetement ils ont cas autoriser le sleep, ca leur couterai surement pas grand chose, puis comme tu le dis, le time out est de 30 secondes et je suis sur qu'apache est suffisament bien fait pour pas que je bloque tout (bonne répartition des ressources CPU), donc il rammera pas a cause de moi ;) par contre j'essaye de m'en servir pour un code qui risque de moins leur plaire

es ce que quelqu'un aurais un lien ou une liste complète des fonctions autorisées et bloquées par free ? et toutes autres restrictions ?
merci a tous

Commentaire de olivier59 le 19/07/2006 10:39:57

essaye la fonction dans une page php pour avoir la liste des fonctions activées


<?php
phpinfo();
?>

Commentaire de TheSin le 19/07/2006 14:04:09

function Nsleep($nbsec) //$nbsec c'est le nombre de secondes
{
    $nbsec = abs ( (int) $nbsec) ;
    $tps=time();
    while($tps+$nbsec!=time()) ;
}

valà, je t'ai légèrement améliorée pour avec un integer toujours positif ;-)

Commentaire de xabi62 le 19/07/2006 18:17:39

Salut,

Derniere petite modif avec le >= (qui ne servira jamais ;o) )

function Nsleep($nbsec) //$nbsec c'est le nombre de secondes
{
    $nbsec = abs ( (int) $nbsec) ;
    $tps=time();
    while($tps+$nbsec>=time()) ;
}

XaV

Commentaire de djmoa le 20/07/2006 09:45:05

Si certains ont eu la nécéssité d'utiliser ce code n'hésitez pas a faire partager vos experiences, ainsi que si vous avez des astuces similaires

Commentaire de kankrelune le 21/07/2006 14:36:17

toujours faire comme ça quand on redéfinit un fonction de php... par exemple pour une meilleur portabilité entre les versions de php... .. .

if(!function_exists('sleep'))
{
   function sleep($nbsec) //$nbsec c'est le nombre de secondes
   {
       $nbsec = abs ( (int) $nbsec) ;
       $tps=time();
       while($tps+$nbsec>=time()) ;
   }
}

Comme ça si la fonction native est disponible c'est cette dernière qui sera utilisé... et cela fait une différence d'une part dans le temps d'exécution d'autre part, concernant sleep, le temps de battement provoqué par la fonction n'est pas contabilisé dans le max_execution_time contrairement à la boucle... .. .

Par contre il faut tester parce que ça peut bloquer vu que la fonction existe mais est désactivée via le php.ini... .. .

@ tchaOo°

Commentaire de deboutv le 25/07/2006 12:04:55

Pour le lien c'est http://faq.free.fr/adsl/5/9/3/8
Dites vous bien que si Free a décidé de bloquer ces fonctions ce n'est pas pour embêter les clients mais parce que c'est dans leur interêt. Un serveur Apache/PHP qui tourne dans une boucle infinie c'est des ressources en moins pour les autres.
Si votre page est consulté simultannéement par une personne, c'est une ressource en moins. Si votre site est consulté simultannéement par mille personnes, c'est mille ressources en moins...

Commentaire de djmoa le 25/07/2006 12:31:31

c'est vrai que si je fais un sleep de 25 secondes, ca leur boufe la socket pendant 25 secondes... tres utile en tout cas ton lien

Commentaire de pifou25 le 10/11/2006 11:57:09

tient à propos de Free, en théorie il y a un set_time_limit à 30 sec ce qui signifie que si le script dure un peu trop il est 'killé' au bout de 30 secondes... çà c'est la théorie: je sais pas comment sont calculées les secondes chez free mais je fais tourner des batchs de nuit (déclenché via webcron) et je sais qu'ils durent quelques minutes (3 à 4mn, sur). Je ne m'en plains pas c'est bien pratique ^^ hé je voudrais savoir si certains ont déjà pu remarquer ceci?

Commentaire de garfield90 le 10/11/2006 14:51:41

30 secondes c'est du temps processus, c'est à dire que ton script peut durée 5h mais utilise 20s sur le temps processus.

J'espère que je ne dis pas une connerie ;)

Commentaire de djmoa le 11/11/2006 20:34:54

je suis pas vraiment sur pour ton coup de la répartition du temps.. mais avec cette fonction, le temps processus devrai etre égal a peu pres au temps du script..
sur mon serveur perso, j'arrive a faire durer le script indéfiniment, meme si le time out est limité à 30 sec...
sur free, en faisant une page qui s'appelle toute seule en boucle, j'arrive a la faire durer plusieurs minutes aussi... enfin bon

Commentaire de kankrelune le 12/11/2006 18:31:40

Si ta page s'appeklle en boucle c'est normal que ça passe... le time out est valable pour le script courant donc si ta page s'appelle récursivement ça fait autant de time out que de pages... .. .

@ tchaOo°

Commentaire de djmoa le 13/11/2006 10:11:08

c'est justement la qu'il y a un probleme... j'ai fait un test, qui marche sur mon pc mais pas sur free cet été... je voulais faire tourner un script en boucle sur leur serveur pour pomer le contenu de plein de sites ...
de mémoire, si je faisait juste une page qui s'appelais toute seule, au bout d'une dizaine de fois elle s'arretait...
en imposant une pause de 2 secondes (cette fonction), le script se renouvellait plus de fois, au final, j'ai mis 25 secondes de sleep mais ca tournait pas en continu.. et il me semble que j'avais essayé de relayer par un autre serveur (multimania ou autre) mais j'avais rien eu de concluant donc j'ai arreté les recherches....
si qqcn arrive a qqch.... merci de m'en faire part

Commentaire de kankrelune le 13/11/2006 12:27:35

Y a pas que le time out... y a aussi le memory limit qui entre en jeux... une page qui s'appelle récursivement peu respecter le time out mais risque de faire exploser la taille en mémoire... .. . ;o)

@ tchaOo°

Commentaire de atezis le 27/07/2007 22:52:53

Salut, tout çà pour dire que, malgré quelques imperfections de ce script, je suis satisfait d'avoir trouvé un substitut à la fonvtion sleep!
merci

Commentaire de djmoa le 28/07/2007 15:15:45

Merci, ca fait plaisir de voir qu'il y a qelques personnes interessées ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Qui héberge ? comment ? n°1 (Chez.com & Free.fr & Multimania.fr) [ par holger ] Chez.com & Free.fr & Multimania.frVoici un petit tableau de presentaion des hébergeurs ...___________________________________________________________h php et mysql [ par stephane ] bonjour,j'ai des pb d'acces aux base de donnees, je suis sur free donc le 'host' est ftpperso.free.fr enfin ca c'est bon j'ai bien mis mon login et pa Juste MySql !!! [ par Xs ] Salut !!Il se trouve que j'ai fait un prog en C++ et qu'il se connecte a une BDD MySql.Je voudrais donc une dernier chose pour qu'il marche : un heber A-FORUM [ par thyOsys ] Salut à tous!J'essais d'installer A-FORUM sur FREE...Je me retrouve avec une erreur ligne 9 (files exists), apres avoir lancé l'installation!!!Si quel Upload sur Free [ par bgK ] lorsque j'essaie d'uploader un fichier,j'obtiens le message suivantWarning: Unable to access in upload.php on line 5la ligne 5 de upload.php : $des mail avec phpbb2 sous free [ par goebish ] j'utilise un forum phpbb2 que j'heberge chez free, mais voila, le forum ne veut pas envoyer d'email (confirmation d'enregistrement, avertissement de l Upload de fichier possible sur FREE ??? [ par Phrogg ] Hello, J'utilise un script PHP dans lequel j'utilise l'instruction HTML &lt;input type="file" name="fichier"&gt; Je récupère ensuite le fichier en PHP PHP3 et PHP4 sur Free [ par mehdibou ] Bonjour,j'aimerais savoir si mettre l'extension .php3 au lieu de .php chez l'hebergeur Free, va améliorer la vitesse. Ou si c'est pas le contraire ou free - comment kon fé ? [ par Stephane ] Salu a tousvoila, je voudrai créer un compte chez free (pour l'upload) mais je ne sais pas comment faire.Si je m'inscrit, il me dit qu'il va m'envoyer Problème avec une requâte chez FREE [ par krevette ] Bonjour j'ai mon site heberger cheez Free, j'ai un problème lorsque je fai un INSERT dans ma base et que la requéte fais un nombre de caractére impres


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales