Author: David Beniamine Date: To: guilde Subject: Re: Php netcat broken pipe
Je réponds aux idées de Jérôme et Dominique dans le même mail.
Dominique :
> Deux axes supplémentaires : récupérer le message dans output et l'afficher : > exec ("script", $output, $rc); > print_r ($output); > echo "RC=$rc\n"; Le code de retour est toujours 0
> Deuxième idée : ulimit défini trop bas pour l'utilisateur www-data (ou autre) sudo -u www-data php -a
php > echo exec('mon_script.sh');
et
sudo -u www-data mon_script.sh
Me renvoient le bon nombre de lignes, donc je ne pense pas que le soucis
soit au niveau de ulimit.
> Troisième idée : Ton PHP est inclus dans Apache par le module Apache ou par FPM ou CGI ? C'est peut-être Apache qui limite (même si dans ce cas, je pense que tu aurais des logs). Module apache, je ne voit rien de bien intéressant en faisant grep -Ri
php /etc/apache2, des idées de ce que je pourrais chercher ?
On 8/12/19 9:19 PM, Jérôme Villafruela wrote: > Le 12/08/2019 à 16:33, David Beniamine a écrit : >>>> Le PATH serait-il différent si tu utilises le PHP ou ta console ?
>>> Là tu met le doigt sur quelque chose, si je lance avec la console php et >>> que je compte les caractères, j'ai bien mes 2097480 octets ! >>> >>> Il y a donc une différence entre php cli et php apache2, je vais
>>> regarder un peu ça ! >> J'ai fait un phpinfo en cli et avec apache2 je ne voit rien de choquant, >> quelques variables sont à -1 côté php
cli et à une valeur raisonnable >> côté apache2, je les aies toute mises
à -1 (ou 0 selon) sans succès >> (output_buffering, memory_limit, ...) >> >> Des idées de ce que je pourrais chercher comme différence ? >> > Peut être une différence dans l'environnement ($ENV, PATH, permissions)
entre l'utilisateur avec lequel tu a testé le script bash et
l'utilisateur faisant tourner le serveur web (www-data) ? Tu peux
essayer d'exécuter ton script avec le user du serveur web (depuis root:
su - www-data --shell=/bin/bash puis lancer le script)
La réponse à cette question croise celle de Dominique : pas de soucis à
faire tourner les choses via l'utilisateur www-data
Est-ce que php aurait une configuration pour limiter les resources
réseau, I/O, les pipes ou les forks peut être ?