我最近開始使用perl(本週)。 客戶端會向服務器請求一個文件,服務器必須用請求的數據創建該文件。無法使用perl創建文件(權限被拒絕)
所以我一直在嘗試創建一個文件,但它拒絕許可。
現在:這是代碼的一部分。我從互聯網上拿走了它。
$filename = 'report.txt';
open($fh, '>', $filename) or $message="Could not open file '$filename' $!";
print $fh "My first report generated by perl\n";
close $fh;
我會繼續我寫的數據後,我可以使這項工作。
我使用「www-data」用戶的lighttpd。我已經花了幾個小時試圖解決它... 此外,我使用$消息,因爲我不知道如何使用「死」。當我使用「死」時,它會顯示「500 - 內部服務器錯誤」,沒有別的。
我在Ubuntu 14.04的工作
運行該腳本的用戶是否具有該目錄下的寫入權限?而且,如果該文件已經存在,用戶是否也有該文件的寫權限?例如,如果您以該用戶的身份登錄,並且「cd」登錄到該目錄,那麼如果您運行「touch report.txt」,它會起作用嗎? –
你應該在你編寫的所有代碼的開始處包含'use strict;'和'use warnings''。 – bytepusher