2017-08-01 16 views
0

PHPを使用して作業するには、次のlinuxコマンドを取得しようとしていました。私はshell_execコマンドをPHPで読みました。これはシェルコマンドの実行に使用できます。PHPを使用してテキストファイルに出力するlinuxコマンドを実行

いくつかの単純なテキストをテキストファイルに出力しようとしています。私は以下を試しました:

<?php 
    $cmd = 'echo "hi" > Desktop/test/output.txt'; 
    shell_exec($cmd); 
?> 

私はこれをUbuntu 16.04で実行しています。また、www-dataをDesktop/testフォルダの所有者にして書き込みできるようにしました。以下は、私がそのために使用するコマンドです:

sudo chown -R www-data:www-data Desktop/test 

私は上記のコマンドを実行すると、直接シェルに私は、文字列の出力を使用して作成output.txtとファイルを見ることができます。

しかし、私はApacheのWebサーバーを介してPHPスクリプトを実行すると、私は作成されているoutput.txtファイルを見ることができません。

私は正しい方向に向けることができたらうれしいです。

ありがとうございました

+0

絶対パスを使用すると機能しますか? – betaros

+0

エラーがあるかどうかを確認するコマンドの出力を取得してください – Jerodev

+1

絶対パスを使用してみてください: '/ home/yourUserName/Desktop/test/output.txt' –

答えて

0

私がコメントで言ったように:絶対パスを使用する必要があります。

<?php 
    $cmd = 'echo "hi" > /home/username/Desktop/test/output.txt'; 
    shell_exec($cmd); 
?> 
+0

ありがとう!これはコマンドがPHPでなく、シェル上で絶対パスなしで直接動作する方法はちょっと奇妙でした。 – terry96

関連する問題