2014-07-07 58 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