J'ai converti mon fichier .m en une application autonome à l'aide de deploytool.Obtenir une sortie d'application standalone de matlab à partir de php
Maintenant, je veux exécuter mon application et obtenir les sorties en utilisant PHP. Je peux exécuter mon application sur cmd. Et il va retourner les sorties et imprimer. Mais je ne peux pas obtenir les sorties de PHP.
c'est le fichier principal de mon application autonome:
function [onsets,pitch,endpoint] = matxtwavtomidi(input_args)
input=strsplit(input_args);
[s wavFs] = audioread(input{1});
[onsets,pitch,endpoint]=txtwavtomidi(s);
end
ceci est le résultat que je reçois de cmd:
C:\Users\user> START /WAIT D:/java/matlab/matxtwavtomidi.exe D:/song.wav
onsets =
1.7183
1.7183
2.3220
2.3220
pitch =
60
72
62
74
endpoint =
1.8576
1.9040
3.0650
2.4149
ceci est mon PHP:
<?php
$stringcmd= "START /WAIT D:/java/matlab/matxtwavtomidi.exe ";
$stringwav = "D:/song.wav";
exec($stringcmd.$stringwav, $output, $return_var);
echo $stringcmd.$stringwav;
var_dump($output);
var_dump($return_var);
?>
cette est le résultat de php:
START /WAIT D:/java/matlab/matxtwavtomidi.exe D:/song.wav
array(0) { }
int(0)
Chaque fois que je lance l'application sur cmd, elle affiche toujours l'image de l'icône de l'application au milieu de l'écran pendant 2 secondes puis disparaît.
Et quand j'ai exécuté mon PHP, il a montré l'image de l'icône, donc je pense qu'il a fait fonctionner l'application. Et il n'y a pas d'erreur dans php_error_log et apache error_log.
Mon problème est, pourquoi mon PHP ne peut-il pas obtenir les sorties de l'application à partir de cmd? Et comment résoudre ce problème?
(Désolé pour mon pauvre anglais ..)