サンプル PHP スクリプトは次のようになります。
#!/usr/bin/php
$file = '/private/var/www/app/install.sh';
if(is_file($file)){
$output = shell_exec('bash /private/var/www/app/install.sh');
fwrite(STDOUT, $output."\n");
}
exit(0);
install.sh の例
#!/bin/bash
clear
echo "Executing Install Script..."
dpkg --info /private/var/www/app/app.deb
dpkg -i /private/var/www/app/app.deb
echo "Script Finished"
exit 0
これにより、結果の dpkg --info データが出力されますが、dpkg -i は実行されません。エラーも何も出力されません...
また、これは Web Web ブラウザーを介して実行されています。ターミナルからスクリプトを実行すると、正常に動作します。ただし、Web では info コマンドのみが返されます。