他の同様の行が機能しているにもかかわらず、シェルコマンドの私の行の1つが実行されていません。Ubuntu12.04ベースのOSを使用しているLinuxマシンで実行しています。execも使用してみましたが、まだ機能しません。
私は実際にこれをある時点で機能させていましたが、ハングの問題(コマンド出力を待っている)に遭遇しました。そのため、出力を/ dev/nullにリダイレクトしています。そのため、開発のどこかで何かが変わった。インストールするDebianパッケージを作成し、そのインストールパッケージを実行したので、ファイルを上書きするときにアクセス許可が変更されたのではないかと思ったので、すべてのユーザー/グループ/所有者に読み取り/書き込み/実行を追加しましたが、それも機能しませんでした。
コードはここにあります:
if(isset($_POST['activateXML']))
{
if (videoConsistencyCheck())
{
`cp {$fileXML} /apps/video/xml.xml`;
`sudo /apps/video/vsss restart >/dev/null 2>&1 &`;
systemUnvalidate();
header('Location: index.php?app='.$_GET['app']);
die();
}
}
ifステートメントの最初の行が実行されることを知っています。コード行は実際の端末で正常に機能するため、それも問題ではありません。私はたくさんのグーグルをしました、そして、私が見つけることができたすべては答えられていない質問です、どんなアドバイスも役に立ちます。
編集:機能していないように見えたのは、実際には意図したとおりにコマンドを呼び出していましたが、bashスクリプトでは、start-stopデーモンを呼び出していましたが機能していませんでした
編集2:テストphpファイルを作成し、ターミナルからコードを実行し、コマンドにsudoを追加してstart-stop-daemonエラーを修正しましたが、それでもコードで機能しません。送信ボタンが押されたときにこのコードを呼び出しています。