2014-07-07 59 views
0

我想在我的服務器中創建一個system('touch 1.test');
於是我打電話systest.php:未創建PHP腳本內的system()命令 - 調用批處理文件...

<?php 
     system('touch 1.test'); 
?> 

文件。

它完美的作品通過命令行調用時:

/bin/php /public_html/systest.php 

,並創建文件1.test

它可能是一個權限錯誤?一些其他類型的安全問題?

任何想法? 謝謝!

+0

當您手動運行它時,它在哪裏創建文件?您希望它在由網絡服務器運行時創建它? – Barmar

回答

1

如果要創建文件的文件夾不屬於Apache,並且不可寫,則將失敗。

確保它具有正確的權限,或者在由apache擁有或由apache創建的文件夾中完成。

+3

它不必由apache擁有,它只需要由它寫入即可。 – Barmar

+0

但是,如果它由apache擁有,那麼它可以被該組寫入,如果不是那麼它必須由所有人寫入 –

+0

從來沒有聽說過訪問控制列表? – Barmar