Résolu Mac PHP Apache et upload : pbl

Solutions (9)
Tags :
  • Mac
  • Php
  • Upload
  • Serveur
  • Programmation
|
Salut à tous.

Je viens de développer un site pour des clients voulant gérer une base de données d'oeuvres d'art en ligne. L'une de leurs exigences était de pouvoir uploader sur leur serveur des photos des oeuvres.
J'ai développé ce site sous linux avec un serveur LAMP classique et tout allait bien. Au cours de la construction je l'ai même testé sous Windows avec WAMP et là encore pas de souci. Mais horreur ! Ils tiennent à ce que leur serveur soit leur beau Mac tout neuf ! J'ai donc installé MAMP et là ça coince. Je m'explique :

Sur une des pages deux champs input type=file pour uploader deux images. Le script PHP se charge de les redimensionner et de les stocker dans un dossier /upload. Puis le script envoie une requête à mysql pour enregistrer dans deux champs de la base de données le lien relatif des images.
Seulement voilà : sous MAC pour le moment il n'est possible d'enregistrer qu'une image !! soit la 1, soit la 2, mais pas les deux en même temps !! C'est très curieux... Ancune erreur n'est renvoyé mais au final seule la moitié du travail est fait.
J'ai regardé le PHP.INI mais j'ai pas d'idée sur ce qui ne va pas. Quand aux permissions sur les fichiers et dossiers ça me semble pas être ça ... :( 

Au secours s'il vous plaît !!! Merci
Contenus similaires
Meilleure solution
partage
|
Il m'est venu deux autres idées :

- Remplace les fichiers de config et .ini sur la Mac par ceux que tu avais sur Windows ou/et sur Linux => si ça marche pas tu pourra anoncer à tes clients que cette fonctionnalité n'est pas possible sur Mac de manière direct.

- J'ai rencontrer des problèmes de fonctionnement avec Safari chez un client une fois (il ne reconnaissait pas le charset malgrés tout les métatags possibles et imaginables sur un site approuvé par le W3C ... ça marche vachement bien Mac^^ ... mince encore ... pardon mille fois), t'as essayé avec un autre navigateur (firefox) ?
  • Commenter cette solution |
Score
0
òh
òi
|
Alors,

Le problème est résolu. J'ai fait ce que tu m'as conseillé, càd de comparer le php.ini de mon serveur Debian et celui du Mac. Sur le Mac toutes les valeurs relatives à la mémoire étaient à 32M.
Sur Debian les valeurs par défaut sont :
memory_limit : 128M
post_max_size : 8M
upload max_size : 32M (ça c'est moi je crois qui l'ait changé)
J'ai juste reporté ces valeurs sur le php.ini du Mac et c'est réglé.

Du coup, je regarderai plus souvent les log de php et d'apache. C'est vrai j'aurais du les regarder tout de suite.
Par contre tu m'avais dit de regarder le httpd.conf, mais après une première lecture il me semble qu'il n'y a rien de relatif à la mémoire dans ce fichier.

Et bien MERCI beaucoup, me voilà enfin crédible auprès de mes clients ! Et je vais donc pouvoir être payé ;) 

Sinon ce que tu m'as dit à la fin m'intéresse. Non effectivement je n'efface pas systématiquement le résultat de mes requètes. Et je suppose que si je le faisais ça relacherait des ressources mémoires. Ahh la coopération quelle merveille !

Merci encore !!

Comment on fait déjà sur ce forum pour indiquer que le topic est résolu ? RESOLU ou [RESOLU] ou [AYé C'EST BON]
  • Commenter cette réponse |
Score
0
òh
òi
|
De rien, je le fait pour moi en fait : j'essaye de m'améliorer dans les réponses d'utilisateurs ... ^_^
Je me suis donnée une mission de minimum un mois pour me rendre compte par moi-même se que ça donne un forum tout en apprenant des trucs de plus en programmation. Donc merci à toi ^^

Revenons sur le sujet :
Passe ton memory_limit à 64 voir 128M
Dans un premier temps ça devrais résoudre le problème ...
TOUTEFOIS, tu utilise beaucoup de ressource, il te FAUT faire du ménage ...
Je pensais à un truc, est que tu efface systématiquement les results de tes requétes MySQL ? (utiliser des unset ou quelque-chose du genre)
  • Commenter cette réponse |
Score
0
òh
òi
|
Du neuf.

Bingo c'est bien le taille de la mémoire cache.
le log php donne : Allowed memory size of 33 554 432 bytes exhausted
Mais comme c'est bien la première fois que je me retrouve confronté à ce problème je doute.

Dans le php.ini j'ai différentes choses :

Resource limits > memory_limit = 32M ; Max amount of memory a script may consume (8M)

plus loin :

Data Handling > post_max_size = 32M

encore plus loin :

Upload max_file_size = 32M

Et pourtant je suis sûr et certain que lors de mes tests sur le Mac les photos que j'ai rentrées ne font pas 32M lorsqu'on les ajoute. Mais alors pas du tout du tout.
Le second problème c'est la question de savoir quelle(s) valeur(s) changer. Toutes puisque elles sont à 32M chacune, ou juste l'une d'entre elles ?

Sinon je suis allé farfouillé dans le httpd.conf mais pas de valeur de mémoire à changer. En plus comme c'est php qui râle ...

Merci beaucoup de ta précieuse contribution.
  • Commenter cette réponse |
Score
0
òh
òi
|
Pour les tailles du cache, je me demande si c'est pas plutôt sur le httpd.conf de Apache.
C'est certe brutale, mais n'oubli surtout pas de faire des sauvegardes.
Ensuite, ça m'ai arrivé en période de charette, n'oubli pas de redémarrer les services après chaque changement de configuration ^_^
Bon courage
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci beaucoup pour ton aide.

Oui j'ai essayé avec Safari et Firefox (notamment) sur le Mac, ne serait-ce que pour tester le CSS et autres susceptibilités HTML. Pas d'autres résultats. J'ai même bidouillé entre les <form> mais pas mieux.

Tu penses que si je tente brutalement de remplacer le php.ini du Mac par celui de mon serveur ça peut le faire ? J'aime bien ces idées quelques peu radicales. En faisant une sauvegarde ça doit pas faire trop de mal ;) .

Ce qui m'énerve c'est que la seule chose que le client remarque c'est que ça marche pas !! En plus, c'est le WE et donc le Mac ..... IL EST PAS ALLUME !!! Du coup je me bouffe les ongles depuis le début de la journée sans pouvoir m'y connecter et tester !

Le suite demain merci encore
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui et non, faut voir les besoins ; N'importe quelle bécane lambda pourrais faire l'affaire : au taf, on avais un vieux pentium 1,6 GHz avec 1 Go de ram sur xp pro et non serveur qui nous a fait office de serveur web : à l'époque on avait pas de traitements sur des centaines de lignes et plusieurs bdd différentes celon les solutions fournis par nos prestataires historiques ...
Cela suffisait pour ce qu'on avait à faire, pas de ramage ou de platage ^_^

J'ai été méchant avec Mac car cela me fait chier d'entendre des "pros" dire que Mac c'est de la bombe ... mdr ... Depuis OS X Mac ne peu même plus prétendre être un système professionel : il est devenu totalement instable et les forums style MacBidouille montrent à quel point même avec les propres softs Mac, y'a quand même des problèmes ... Mais j'en est encore entendu un qui me disait quand même Mac c'est mieux que les autres quoi qu'il arrive et un autre qui prétendais n'avoir jamais planté son Mac quelque soit se qu'il y faisait tourner ... ^_^ pdr ...
A mon ancien boulot, le Directeur était pro Mac, et pour la bécane de la secrétaire il lui a acheté un Mac : il a tenu 6 mois, à subit entre temps 3 formatages et ré-installation complète et à ensuite été revendu => pas possible de bosser avec Office qui était indispensable pour pouvoir bosser avec 90 % des clients.

Mais bon hormis ça, je ne jète pas pour autant la pierre que sur Mac :

Microsoft = instable = amateur
Mac = Microsoft(à 40 %) = instable = amateur
Linux = stable = professionnel
Unix = stable = professionnel

Pour en revenir à tes soucis je pensais à un truc : tu as une variable/réglage sur le taille maximale utilisé pour la gestion des fichier temporaires : ce serais pas ce paramêtre qui serais un peu trop bas ?
Ce qui expliquerais que le premier fichier passe et pas le second (les valeurs par défaut ne sont pas forcement les mêmes celon la solution que tu prend (wamp, mamp, etc ...)
  • Commenter cette réponse |
Score
0
òh
òi
|
Ok je vais faire ça merci.

C'est sûr que tant qu'à y être, autant prendre un Unix non trifouillé. Mais bon, à leur décharge faut être un peu c.... pour vouloir transformer un Mac tout neuf en serveur http !
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,

Un peu de méchanceté avant tout : "Meuh non Mac c'est le meiileur du monde, tout marche sur Mac, y'a JAMAIS de problème, ça n'existe pôôôôôô ...."

La preuve que c'est vrais n'est-ce pas ?

Même sur Mac tu dois avoir des logs d'erreurs.
Dans un premier temps, va dans ton php.ini et modifie la variable d'erreur en la passant à All. Comme ça, tout type d'erreur ou simple alerte sera reporté.
Redémarre les services et test de nouveau puis dit-nous si tu as de nouvelles lignes d'erreurs.

Si il y en a aucune, envoi ta fonction de traitement d'image pour voir concrètement se que tu fais.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS