IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Comment écrire dans un fichier au delà de 2Go


Sujet :

Administration système

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut Comment écrire dans un fichier au delà de 2Go
    Bonsoir tout le monde,

    Je suis sur une plate forme Fedora Core 6 , je travaille sur un script (en PHP) pour générer des fichiers sql afin d'alimenter une base de données.
    le problème est le suivant : dès que mon fichier dépasse les 2 GO, j'ai un message d'erreur : débordement de la taille permise pour un fichier.

    On m'a dit que c'est à cause du système de fichier et que le pointeur de php pour lire et ecrire les fichiers est en 32 bits...(je suis sur une partition ext3)

    sur windows ça tourne comme il le faut...!!!

    Existe t-il des solutions pour compiler php pour la même chose (se positionner
    et eventuellement écrire à l'interieur d'un fichier au dela de 2Go)?

    Note : mes fichiers vont jusqu'à 6Go et des poussières.

    merci

  2. #2
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Et en spécifiant la taille max d'un fichier comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    innodb_data_file_path = /ibdata/ibdata1:100M:autoextend:max:7000M
    ça marche pas ?

    [edit] Essaye de regarder le contenu de ces fichiers car Sous Unix, mysqld lit les options dans les fichiers suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    /etc/my.cnf Options globales. 
    COMPILATION_DATADIR/my.cnf Options spécifiques au serveur. 
    defaults-extra-file Le fichier spécifié avec --defaults-extra-file=... . 
    ~/.my.cnf User-specific options.
    Omnes Vulnerant Ultima Necat
    Bye

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    c'est un problème de php... perso, ça me le fait quand j'essaie de lire un fichier d'une taille supérieure à 2,xxx Go (le coup de la taille en 32 bits signé sans doute )

    es-tu obligé de passer par php pour un tel traitement ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  4. #4
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Sous windows la taille max des fichiers n'est pas de 2 Go mais sous unix/linux si....
    La solution de gorgonite a du bon, es-tu obliger de passer par PHP pour ce genre de choses ?
    Omnes Vulnerant Ultima Necat
    Bye

  5. #5
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Shugo78
    Sous windows la taille max des fichiers n'est pas de 2 Go mais sous unix/linux si....

    sous unix, ce n'est pas le cas non plus... à moins tu veuilles dire que les serveurs contenant les distributions en dvd soient sous windows
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  6. #6
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    sous unix, ce n'est pas le cas non plus... à moins tu veuilles dire que les serveurs contenant les distributions en dvd soient sous windows
    D'abord, je ne pense pas que Les disrtibutions en DVD soit en un seul fichier de plus je parlais des fichier de données qui doivent être inférieure à 2Go sur certains systèmes d'exploitation notament Unix/Linux.
    Omnes Vulnerant Ultima Necat
    Bye

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Shugo78
    D'abord, je ne pense pas que Les disrtibutions en DVD soit en un seul fichier de plus je parlais des fichier de données qui doivent être inférieure à 2Go sur certains systèmes d'exploitation notament Unix/Linux.

    et leur image iso, elle contient bien tout le dvd ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #8
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par gorgonite
    et leur image iso, elle contient bien tout le dvd ?
    Euh... oui mais lis la suite de mon message.
    Omnes Vulnerant Ultima Necat
    Bye

  9. #9
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Shugo78
    Euh... oui mais lis la suite de mon message.

    ce qui se conçoit bien s'énonce clairement, et tu as dit

    je ne pense pas que Les disrtibutions en DVD soit en un seul fichier
    pourtant lorsqu'elles sont sont format iso pour le dvd, on a bien un unique fichier qui fait plus de 2Go


    pour avoir étudier ce problème qui arrive "fréquemment" lors de transferts de gros fichiers par ftp, ou dans la lecture de ces mêmes fichiers par php, c'est le fait d'avoir utilisé un entier signé pour accéder au fichier qui pose problème...

    pour les limites dues au système de fichiers, regardes ceci
    http://www.novell.com/documentation/...ml/apas04.html

    tu verras que le problème ne vient pas d'unix en soi, mais des programmes qui accèdent au fichier
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  10. #10
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    autant pour moi, on en apprend tout les jours .
    Omnes Vulnerant Ultima Necat
    Bye

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut slt
    Tout d'abord je vous remercie pour vos réponses....
    En ce qui concerne mon passage par PHP pour créer ce genre de fichier : Hélas oui....je suis obligé
    Pour l’ instruction “innodb_data_file_path” je vois pas pourquoi ?? sachant que ce n'est pas au moment de l'insertion des données dans ma base mais bien avant . Mon script ne fait que creer le fichier sql...

  12. #12
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Ca spécifie la taille max d'un fichier de données.
    Omnes Vulnerant Ultima Necat
    Bye

  13. #13
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Shugo78, ce que nkki_nkki veut dire c'est que le sgbd n'est pas encore en utilisation, là il ne fait que stocker ses données dans un fichier.

    De plus, comme cela à été évoqué, le système d'exploitation n'impose aucune limite de taille des fichiers, par contre le système de fichier ou l'application peut en imposer une.


    Pour commencer il faut savoir d'où vient la limite. Donc, quelle est la version du noyau ? quelle est le système de fichier ?
    Si la limite vient de php, il faut voir si y'a moyen de la relever, sinon, la solution la plus simple est de découper tes données en fichiers plus petits.
    Ou bien générer ton fichier en utilisant des commandes système si c'est possible.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  14. #14
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Citation Envoyé par Celelibi
    Pour commencer il faut savoir d'où vient la limite. Donc, quelle est la version du noyau ? quelle est le système de fichier ?
    Si la limite vient de php, il faut voir si y'a moyen de la relever, sinon, la solution la plus simple est de découper tes données en fichiers plus petits.
    Ou bien générer ton fichier en utilisant des commandes système si c'est possible.
    Effectivement les anciens systèmes de fichiers ne supportaient pas les "largefiles" mais aujourd'hui, et grand dieu heureusement, cette limite a été repoussé (on serait pas dans la merde avec des dumps d'oracle de plus de 3 Giga... )!
    Un moyen facile de le vérifier, c'est de créer un gros fichier avec "dd"
    dd if=/dev/zero of=/mon_repertoire/fichier_test bs=2048 count=1000001
    Création d'un fichier vide de plus de deux gigas. (évidemment vérifiez que vous avez assez d'espace disque )
    Grave urgent !!!

  15. #15
    En attente de confirmation mail Avatar de gandalfar
    Inscrit en
    Novembre 2004
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 145
    Points : 141
    Points
    141
    Par défaut
    je pense que la limite vient de php car si je me plante pas la pluspart
    des distrib a base de 2.6 n'on pas par default le support for large single
    file de compilé dans le noyau ce qui fait que le noyau peut theriquement
    travaillé au minimum avec des fichiers allant jusqu a 2 Tb .

    Je pense donc que la limite vient de php car l ext3 (et c pour ca que les
    gens de bull travaillent sur l ext4) ne suporte pas des fichier de plus d
    un unsigned int c'est a dire 4Go si je me rapelle bien mais c 'est quand
    meme plus que 2Go.

    donc le probleme viendrai bien de php selon moi

  16. #16
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par Celelibi
    Shugo78, ce que nkki_nkki veut dire c'est que le sgbd n'est pas encore en utilisation, là il ne fait que stocker ses données dans un fichier.
    ..... D'accord ....
    @ gandalfar : C'est même sur que la limitation vient de PHP...
    Omnes Vulnerant Ultima Necat
    Bye

Discussions similaires

  1. Réponses: 32
    Dernier message: 17/05/2006, 16h03
  2. comment écrire dans un fichier avec Ant-apache
    Par sidi.elmoctar dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/04/2006, 17h44
  3. [Delphi] Comment écrire dans un fichier texte ?
    Par Mickey.jet dans le forum Débuter
    Réponses: 2
    Dernier message: 01/04/2006, 14h00
  4. [C#] Comment écrire dans un fichier ?
    Par guillaume16 dans le forum C#
    Réponses: 9
    Dernier message: 30/03/2006, 13h39
  5. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo