2013-07-24 31 views
0

下面是一個PHP文件的內容:file_put_contents不能在命令行中使用?

<? 
file_put_contents('test.txt', 'stuff'); 
echo 'complete'; 
?> 

我把這test.php,它位於/mnt。它擁有777個權限。現在我進入SSH,並執行:sudo /usr/bin/php /mnt/test.php。我收到腳本底部的complete消息。現在,我進入/mnt。 Text.txt不存在。是什麼賦予了?

回答

1

您尚未指定路徑,因此您在當前工作目錄中將stuff放入text.txt。這將運行sudo,而不是目錄的PHP腳本是在之前的目錄,你cd(對於一個新的外殼或默認目錄)

1

正確的代碼是這樣的:

file_put_contents(__DIR__.'/test.txt', 'stuff'); 
echo 'complete'; 

否則,PHP在「當前工作目錄」,寫文件,而不是在那裏放

0

更改您的代碼包含的絕對路徑,像這樣:

file_put_contents('/mnt/test.txt', 'stuff'); 

其他,PHP只會將文件寫入工作目錄(通常爲/home/user