Bonjour,
J'ai des webservices qui sont utilisés pour des sauvegardes, mais depuis le passage à PHP7 (?) la sauvegarde ne fonctionne plus.
Toutes les liaisons webservices fonctionnent.
J'ai isolé le code qui pose problème en php7 mais ça peut venir d'un d'autre chose !
Ceci est en fait (une partie) appelé par les webservices ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php //$outputShell=shell_exec('sudo cat /etc/passwd'); exec('sudo /usr/sbin/dirvish --vault L106',$outputShell, $codeErreur); //exec('sudo cat /etc/passwd',$outputShell, $codeErreur); // if ($codeErreur == 0){ var_dump ("ok",$outputShell,$codeErreur); } else{ var_dump ("nook",$outputShell,$codeErreur); } ?>
Quand j'execute directement ce code via un navigateur j'ai cette erreur :
et log dirvishdirvish error: branch /san/pcdsi/L106:default image 20190221154124 failed
dirvish L106:default error (23) -- partial transfer
expr: syntax error
expr: non-integer argument
dirvish error: branch /san/pcdsi/L106:default image 20190221154136 failed
Si j’exécute la commande /usr/sbin/dirvish --vault L106 en root , la sauvegarde s'effectue sans problème !!rsync_error: *** Execution cycle 0 *** rsync: change_dir "/mnt/pc-backup/L106/Users/" failed: No such file or directory (2) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1668) [Receiver=3.1.2] rsync: [Receiver] write error: Broken pipe (32) *** Execution cycle 1 *** rsync: change_dir "/mnt/pc-backup/L106/Users/" failed: No such file or directory (2) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1668) [Receiver=3.1.2] rsync: [Receiver] write error: Broken pipe (32)
De plus la partie en commentaire que j'ai testée via cat /etc/passwd fonctionne !
Bien sûr j'ai vérifié les droits sudo et le script étant lancé via un navigateur www-data est sudo sans mot de passe ... pas de souci de ce coté là
Sur mon ancien serveur PHP5 ce code php fonctionne !
Est-ce que vous avez une idée ? Je cale ?
- problème système ?
- problème de php ?
- problème de dirvish sur platefome php 7 ?
En résumé la commande exec('sudo /usr/sbin/dirvish --vault L106',$outputShell, $codeErreur); fonctionne en php5 et pas en php7 !! Des connaisseurs ? Merci
Partager