2012-10-19 103 views
0

我必須使用php自動化一個進程,其中我必須在文件中追加內容。 該文件沒有指定任何特定權限,但文件夾'abc'具有隻讀權限,所以當我嘗試附加文件時,fopen()會提示權限被拒絕。在php中使用exec命令不起作用

但我可以手動編輯文件,也可以從命令提示符編輯文件。所以我嘗試了以下內容:

當我嘗試 echo exec(「echo Testing >> \\ xx.xx.x.x \ C $ \ abc \ test.txt」); 在我的腳本中,它不起作用。

如果相同命令 echo測試>> \ xx.xx.x.x \ C $ \ abc \ test.txt 在cmd上運行就可以了。我試過psexec: - echo exec('C:/ psexec \ xx.xx.x.x cmd/c \「echo Testing >> C:\ abc \ test.txt \」'); 再次當我運行 C:/ psexec \ xx.xx.x.x cmd/c「echo測試>> C:\ abc \ test.txt」 在cmd上工作正常。

與exec()有什麼關係,我做錯了嗎? 或者是否有其他方式可以編輯文件,因爲我不應該更改文件夾權限,但仍然可以自動執行過程。

+0

您的應用程序需要寫入權限或否,您無法完成此操作。使用'exec'試圖解決這個問題是一個糟糕的主意(對不起)。 – Madbreaks

+0

PHP作爲擁有不同用戶權限的不同用戶運行。所以你不可能繞過文件權限。 – Doon

回答

0

我假設你使用的是Windows。在Debian Linux上,我會告訴你在相應目錄下給用戶www-data的寫權限。

您可能需要爲該目錄​​提供本地IIS工作帳戶寫入權限。本地IIS工作人員帳戶可能被命名爲IUSR_ [SERVERNAME]。

+0

非常感謝:) – Tinasm

0

出於安全原因,某些虛擬主機決定刪除函數exec。

查看您的PHP信息並檢查您的PHP是否被禁用。