Re: Php netcat broken pipe

Top Page

Reply to this message
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 ?


P.S: Encore merci pour votre aide !