2011-04-30 59 views
1

我有一個Windows Server 2008標準版。我試圖執行這個簡單的命令,以便稍後可以在文件上寫入管理日誌。信息不會寫入文件或創建文件(如果文件不存在)。並且該頁面不會發布關於windows權限的警告或錯誤。PHP不寫入文件在Windows服務器上

<?php 
$file=fopen("1.txt","a"); 
fwrite($file,"Hello"); 
?> 

任何幫助?

+0

該文件的權限是什麼? – 2011-04-30 12:55:53

+0

檢查是否有任何錯誤或E_WARNINGS生成。根據手冊如果打開失敗,則會生成級別E_WARNING的錯誤。您可以使用@來抑制此警告。 – 2011-04-30 12:59:52

+0

請把你的php文件的頂部'error_reporting(-1); ini_set('display_errors',1);'在這裏粘貼消息..如果它仍然不清楚。 – 2011-04-30 13:01:09

回答

0

試試這個,看看是否有錯誤打開文件,而不依賴於PHP的錯誤報告:

$file = fopen("1.txt","a") or die("Error opening file: " . print_r(error_get_last())); 

其次,如果你沒有得到在命令行中的任何錯誤,請確保您的PHP設置爲全部顯示它們。查看this question以獲取一些有用的提示。

+0

「Array([type] => 2 [message] => fopen():依靠系統的時區設置是不安全的,您需要*使用date.timezone設置或date_default_timezone_set()函數。我們選擇'Europe/Paris'作爲'1.0/no DST'而不是[file] => C:\ inetpub \ wwwroot,如果您使用了其中任何一種方法,並且仍然收到此警告, \ 10.php [line] => 2)打開文件時出錯:1「 – ProgrammingEnthusiast 2011-04-30 13:11:42

+0

簡單的谷歌搜索可能有幫助嗎? http://www.google.com/search?q=%22It+is+not+safe+to+rely+on+the+system%27s+timezone+settings%22 – Thilo 2011-04-30 13:19:09

+0

編輯了時區但仍無法使用。 +它給這個錯誤也「警告:fopen(2.txt):未能打開流:權限被拒絕在C:\ inetpub \ wwwroot \ 10.php在第3行」 – ProgrammingEnthusiast 2011-04-30 13:42:17