私はphpを使用して、凸プログラミングを計算できるWebサイトを構築しています。ただし、php と matlab を接続しようとすると、matlab とそのコマンドの一部を実行できますが、matlab 関数を実行できません。
SSH、Windows 7、Matlab R2012a を使用しています。以下は私の観察の一部です:
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)
PHP では、matlab を実行するたびに、次の警告メッセージが表示されます - ディレクトリのアクセス許可を確認してください。Google で検索し、ディレクトリを手動で作成してホーム ディレクトリ (cd~) に .matlab/R2012a を作成しようとしましたが、役に立ちませんでした。
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";
}
誰かが私を助けることができますか?