2011-07-10 10 views
4

あるSMBマウントから別のマウントにファイルをコピーする簡単なスクリプトがあります。ソースファイルシステムは同じですが、Webサーバーは異なります。 PHPを使用して、ファイルをtempディレクトリにコピーしてから、その上で追加のタスクを実行してファイルを処理しています。この設定はある時点で機能していましたが、正しく動作していないようです。誰かが私を正しい方向に向けることができますか?SMBマウントにPHPをコピーする方法

fstabのマウント

//192.168.0.x/share /media/folder smbfs username=user,password=mypass 
//192.168.0.x/share2 /media/folder2 smbfs username=user,password=mypass 

PHPコード

​​

エラー

Warning: copy(/media/folder2/temp/filename.txt): failed to open stream: Permission denied in /www/myphp.php on line xx 

のフォルダのパーミッション(ないマウントは、しかし、ファイルサーバ上のソースフォルダ):

/media/folder = 777 
/media/folder2/temp = 777 
+0

SELinuxは動作していますか?もしそうなら、私はPHPがSMBと話すことを好まないと想像することができます。 –

+0

SELinuxが実行されていないとは思いません。 catには/ etc/sysconfig/selinuxファイルがありませんし、ファイルサーバーにはsestatusプログラムもありません。 –

+0

'ls -Z/media/folder' SELinuxがあれば' -Z'オプションがあり、コンテキストをリストする必要があります。 –

答えて

0

私はにコマンドを変更:どうやらそれは私が思ったよりもSMB共有にファイルを処理するのがより難しい

copy('/media/folder/filename.txt','/tmp/filename.txt'); 

。コンピュータの再起動時にファイルを削除する必要があります。また、システム設定によっては定期的にファイルを削除する必要があります。

0

は、権限とOSやないPHP ...何をWebサーバに固有の問題のように聞こえますか?サーバーはどのように動作していますか?誰も:誰もいない?誰もアクセスできないディレクトリはありませんか?それが最も可能性の高い右アカウントで.. ps auxw | grep apache | awk {'print $1'}をし、それのように実行しているユーザー表示されない場合があり/bin/falseシェル

  • 誰もありませんよう

    sudo su - nobody

    • おそらく文句を言わない仕事...その後変更してみてくださいPHPはファイルを書き込むためにアクセスすることができるようにするにはsudo

    と、そのアカウントにかけて、あなたはユーザーを確認する必要があります Webサーバが実行しているWebサーバはcopyとなります。

  • 1
    system("cp /media/folder/filename.txt /media/folder2/temp/filename.txt"); 
    

    お手数ですが、

    関連する問題