[RESOLU] [php]execute un programme externe et attand sa fin

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] [php]execute un programme externe et attand sa fin

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 12 avr. 2015, 15:08

j'ai trouvé le problème en realite vous avez raison le probleme et au niveau de programme php tué le pgramme lorsque une exception et produit donc le programme il s'arrête aprer cette exception java java.io.FileNotFoundException: ./n-gram/kfngram/api-report.txt-04-ngrams-Freq.txt (No such file or directory)
j'ai réglé le problème au niveau de mon programme et ca marche
merci merci : :D :D :D :D :wink:

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 12 avr. 2015, 13:02

le safe mode n'est pas active dans mon fichier php.ini j'ai deja vérifier ça

Re: [php]execute un programme externe et attand sa fin

par Saian » 11 avr. 2015, 22:12

Bizarre, ça fonctionne avec le user d'apache en ligne de commande mais pas via le serveur...
A part un truc qui bloquerait par rapport à la configuration d'apache, ou à la configuration php d'apache (y a un php.ini pour la ligne de commande et un pour apache), je vois pas et la comme ça j'ai pas la moindre idée de ce que ça pourrait être.

T'as regardé si y a quelque chose dans le log d'apache ?

Sinon pas le choix va falloir que tu debug le java pendant qu'il s'exécute via apache.

Ah et je viens de voir ça dans la doc :
Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.
http://php.net/manual/fr/function.exec.php

Re: [php]execute un programme externe et attand sa fin

par moogli » 11 avr. 2015, 21:17

Reste les logs (dans le cas non passant) :mrgreen: :mrgreen: :mrgreen:

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 20:56

Je l'ai testé avec l'utilisateur www-data (sudo -H -u www-data php test_exec.php). le scripte et le programme travaillera également jusqu'a la fin voisi le resultat :

Array
(
[0] => close uniq pat
[1] => critaire Criteres_Iterative_patterns loaded
[2] => critaire weka_file_proto_Iterative_patterns loaded
[3] => fin CloseUniqPatTsetFile
[4] => start ngram_arff_file
[5] => la sequance num et genre a partire de rapport json
[6] => api-report.txt
[7] => le fichier ngrams et genere
[8] => java.io.FileNotFoundException: ./n-gram/kfngram/api-report.txt-04-ngrams-Freq.txt (No such file or directory)
[9] => reading ngrams
[10] => la sortie et dans :
[11] => /n-gram/arff_files/
[12] => start arg_ret_arff_file
[13] => nombre de api_arf_ret :2114
[14] => la sortie et dans :
[15] => /arg_ret_task_arff/
[16] => =================================================================================================
[17] =>
[18] => N-grams method:
[19] => ==============
[20] => === Summary ===
[21] =>
[22] => Correctly Classified Instances 0 0 %
[23] => Incorrectly Classified Instances 1 100 %
[24] => Kappa statistic 0
[25] => Mean absolute error 1
[26] => Root mean squared error 1
[27] => Relative absolute error 267.9012 %
[28] => Root relative squared error 267.9012 %
[29] => Coverage of cases (0.95 level) 0 %
[30] => Mean rel. region size (0.95 level) 50 %
[31] => Total Number of Instances 1
[32] => Predications :
[33] => ==============
[34] => Pb.malware Pb.begnin
[35] => 0.0% 100.0%
[36] => =================================================================================================
[37] =>
[38] => Iterative_patterns method:
[39] => =====================
[40] => === Summary ===
[41] =>
[42] => Correctly Classified Instances 0 0 %
[43] => Incorrectly Classified Instances 1 100 %
[44] => Kappa statistic 0
[45] => Mean absolute error 0.9333
[46] => Root mean squared error 0.9333
[47] => Relative absolute error 249.9484 %
[48] => Root relative squared error 249.9484 %
[49] => Coverage of cases (0.95 level) 100 %
[50] => Mean rel. region size (0.95 level) 100 %
[51] => Total Number of Instances 1
[52] => Predications :
[53] => ==============
[54] => Pb.malware Pb.begnin
[55] => 6.666667% 93.333336%
[56] => =================================================================================================
[57] =>
[58] => api_arg_ret method:
[59] => =================
[60] => === Summary ===
[61] =>
[62] => Correctly Classified Instances 0 0 %
[63] => Incorrectly Classified Instances 1 100 %
[64] => Kappa statistic 0
[65] => Mean absolute error 1
[66] => Root mean squared error 1
[67] => Relative absolute error 267.9012 %
[68] => Root relative squared error 267.9012 %
[69] => Coverage of cases (0.95 level) 0 %
[70] => Mean rel. region size (0.95 level) 50 %
[71] => Total Number of Instances 1
[72] => Predications :
[73] => ==============
[74] => Pb.malware Pb.begnin
[75] => 0.0% 100.0%
[76] => =================================================================================================
[77] =>
)

return val: 0
le programme java est un programme de classification des malwr c'est mon travaille :) :)
donc le problème n'est pas un problème des droits d'acces

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 20:27

De ce que tu dis j'imagine que le java plante à un moment donné, ou qu'il a fait ce qu'il avait à faire selon son algorithme.

Tu peux tester ça dans le terminal pour voir ce qu'il se passe (l'idée est d'exécuter ta commande avec le user www-data), je sais pas si la commande est bonne j'ai jamais testé :
sudo -H -u www-data bash -c 'java -jar seqmaker_web.jar ./cuckoo/storage/analyses/latest/reports/report.json'

Si ça fonctionne comme ça peut être un module apache qui limite le temps d'exécution des fonctions d'exécution ? (je sais pas si ça existe)
Si ça ne fonctionne pas ça tendrait à prouver qu'il y a bien un problème lié à l'utilisateur www-data...

PS : j'imagine que tu as testé ta commande direct dans le terminal et que ça fonctionne ?
java -jar seqmaker_web.jar ./cuckoo/storage/analyses/latest/reports/report.json
(à priori oui si la commande php tonscript.php fonctionne)

Et comme je te disais tu as 3 fichiers arf en -rw--w--w-, il suffit que le java essaie de lire un de ces fichiers et c'est le plantage (ou l'arrêt du programme java selon comment c'est codé).
je vais essayer maintenant

Re: [php]execute un programme externe et attand sa fin

par Saian » 11 avr. 2015, 19:44

De ce que tu dis j'imagine que le java plante à un moment donné, ou qu'il a fait ce qu'il avait à faire selon son algorithme.

Tu peux tester ça dans le terminal pour voir ce qu'il se passe (l'idée est d'exécuter ta commande avec le user www-data), je sais pas si la commande est bonne j'ai jamais testé :
sudo -H -u www-data bash -c 'java -jar seqmaker_web.jar ./cuckoo/storage/analyses/latest/reports/report.json'

Si ça fonctionne comme ça peut être un module apache qui limite le temps d'exécution des fonctions d'exécution ? (je sais pas si ça existe)
Si ça ne fonctionne pas ça tendrait à prouver qu'il y a bien un problème lié à l'utilisateur www-data...

PS : j'imagine que tu as testé ta commande direct dans le terminal et que ça fonctionne ?
java -jar seqmaker_web.jar ./cuckoo/storage/analyses/latest/reports/report.json
(à priori oui si la commande php tonscript.php fonctionne)

Et comme je te disais tu as 3 fichiers arf en -rw--w--w-, il suffit que le java essaie de lire un de ces fichiers et c'est le plantage (ou l'arrêt du programme java selon comment c'est codé).

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 19:14

j'ai essayé avec ce scripte :
echo "tache reported\n";
$cmd="java -jar seqmaker_web.jar ./cuckoo/storage/analyses/latest/reports/report.json";
$out=system($cmd,$return_val);
echo $out;
echo "return val :$return_val";
et avec ça :

$cmd="java -jar seqmaker_web.jar ./cuckoo/storage/analyses/latest/reports/report.json";
exec($cmd,$out,$return_val);
print_r($out);
echo "\n $return_val";

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 19:08

salut,

J'ajouterais qu'il est simple d'ajouter des logs en java ce qui pourrait grandement t'aider (parce qu'avec un message d'erreur tu avancera plus vite ;) ).
De plus attention au temps d’exécution du script, par défaut le temps d’exécution en web est de 30s.


@+
mais le programme il s'execute même pas 30 sec .

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 19:05

Difficile d'y voir clair avec ce screen sans savoir précisément ce que fait le bin java (seqmaker_web.jar ?) et à quoi ressemble la commande (dans test_exec.php ?).
Tu peux toujours tester de tout passer en chown -R adminraouf:www-data et le dossier qui doit être en écriture en chmod -R 775 (www-data aura tous les droits dessus rwx et tous les autres utilisateurs autres que adminraouf et www-data auront des droits de lecture et exécution r-x).
Peut être le bin java génère-t-il ou peut-il générer un fichier de log ou tu pourrais trouver ce qu'il a fait ou ce qui le fait bloquer...

PS : c'est un script de hack ? ^^

EDIT : c'est pas parce que le dossier de travail est /var/www/html que www-data a tous les droits sur ce qu'il contient.
Par exemple tu as 3 fichiers en -rw--w--w- adminraouf adminraouf qui ne peuvent donc pas être lu par www-data (bien qu'il puisse les écraser w).
Et en l'occurrence aucun des dossiers et fichiers listés n'ont de droits spécifiques pour www-data. www-data a les permissions du troisième groupe rwx (celles de tous les utilisateurs autres que le propriétaire ou le groupe).
merci pour tes réponse....
les droits sont comme ca c'est parce que je les modifier et concernant les fichier rw- rw- rw- le bin jar utiliser just en lecture le bin jar ecrire sur le dossier cuckoo (mes ce dossier a rwx rwx rwx en recursion ) donc sur tout les ficher de dossier de plus le programme java cree un fichier et commance de ecriire quelle que ligne avant qu'il s'arrite donc je panse pas que c'est une qustion des droit ?????

Re: [php]execute un programme externe et attand sa fin

par moogli » 11 avr. 2015, 16:03

salut,

J'ajouterais qu'il est simple d'ajouter des logs en java ce qui pourrait grandement t'aider (parce qu'avec un message d'erreur tu avancera plus vite ;) ).
De plus attention au temps d’exécution du script, par défaut le temps d’exécution en web est de 30s.


@+

Re: [php]execute un programme externe et attand sa fin

par Saian » 11 avr. 2015, 14:49

Difficile d'y voir clair avec ce screen sans savoir précisément ce que fait le bin java (seqmaker_web.jar ?) et à quoi ressemble la commande (dans test_exec.php ?).
Tu peux toujours tester de tout passer en chown -R adminraouf:www-data et le dossier qui doit être en écriture en chmod -R 775 (www-data aura tous les droits dessus rwx et tous les autres utilisateurs autres que adminraouf et www-data auront des droits de lecture et exécution r-x).
Peut être le bin java génère-t-il ou peut-il générer un fichier de log ou tu pourrais trouver ce qu'il a fait ou ce qui le fait bloquer...

PS : c'est un script de hack ? ^^

EDIT : c'est pas parce que le dossier de travail est /var/www/html que www-data a tous les droits sur ce qu'il contient.
Par exemple tu as 3 fichiers en -rw--w--w- adminraouf adminraouf qui ne peuvent donc pas être lu par www-data (bien qu'il puisse les écraser w).
Et en l'occurrence aucun des dossiers et fichiers listés n'ont de droits spécifiques pour www-data. www-data a les permissions du troisième groupe rwx (celles de tous les utilisateurs autres que le propriétaire ou le groupe).

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 14:27

le dossier de traville et /var/www/html donc l'utilsateur www-data a tout les droit sur ce repertoire
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
Image

Re: [php]execute un programme externe et attand sa fin

par Saian » 11 avr. 2015, 13:49

Ok et quels sont les droits sur le bin java, sur les fichiers manipulés et sur le dossier qui les contient (ls -l) ?
A priori l'utilisateur d'apache est www-data donc s'il n'a pas les droits le bin peut pas faire son boulot.

Re: [php]execute un programme externe et attand sa fin

par raouf-bnj » 11 avr. 2015, 13:42

linux ubuntu 14.10