3

私はphpを使用して、凸プログラミングを計算できるWebサイトを構築しています。ただし、php と matlab を接続しようとすると、matlab とそのコマンドの一部を実行できますが、matlab 関数を実行できません。

SSH、Windows 7、Matlab R2012a を使用しています。以下は私の観察の一部です:

  1. PHP経由でmatlab関数(.mファイルの関数)を実行することはできませんが、phpコードを介してmatlabでcd、3 * 3などの簡単なコマンドを実行できます。また、SSH を使用して UNIX で matlab を実行しようとしています。matlab 関数とコマンドの両方を正常に実行できます。もう1つ、matlabを呼び出してphpでcdすると、通常のディレクトリ(/uac/std/fyp/y13/fyp_dt)とは異なるディレクトリ(/misc/uac_std/fyp/y13/fyp_dt/public_html/)が表示されます。 /public_html)

  2. PHP では、matlab を実行するたびに、次の警告メッセージが表示されます - ディレクトリのアクセス許可を確認してください。Google で検索し、ディレクトリを手動で作成してホーム ディレクトリ (cd~) に .matlab/R2012a を作成しようとしましたが、役に立ちませんでした。

  3. SSH と php の両方で matlab を実行すると、異なるバージョンの matlab が実行されていることがわかりました。SSH で実行すると、バージョンは R2009a です。phpの場合、バージョンはR2012aで​​す。それが私たちの問題に関連しているかどうかはわかりませんが、ただ奇妙です。また、大学で使用している matlab は R2011b です...

これが私のphpコードです:

if(isset($_POST['filepath'])) {

$filename  = $_POST['filepath'];
    $command="/usr/local/bin/matlab -nodisplay -nosplash -r \"test()\"";
    $output=shell_exec($command); 
    print "$output\n";  
}

誰かが私を助けることができますか?

4

1 に答える 1

0

Matlab の入力ファイルを作成できます。基本的にhttp://www.danpearce.co.uk/php_and_matlabと同じ手法ですが、PHP を使用して入力ファイルを書き込み、Matlab からの出力ファイルを解析します。

于 2013-01-22T05:17:18.020 に答える