在我的程序中,我需要将文件复制到新文件中。我正在使用以下php代码更改文件夹权限并将现有文件 test.php 复制到新文件(尚未创建) test_1.php 。
exec('chmod -R 0777 /folder1/');
exec('sudo cp /folder1/test.php /folder/test_1.php');
但这不是创建和复制 test_1.php 文件。
任何人都可以帮我解决这个问题吗?提前谢谢。
答案 0 :(得分:1)
当你这样做时:
exec('sudo cp /folder1/test.php /folder/test_1.php');
你的php代码是否具有移动文件的'sudo'权限?您需要相应地设置权限。
请参考: Sudo in php exec
答案 1 :(得分:-1)
你的问题出现在第一个命令中,
PHP无权执行此操作:
exec('chmod -R 0777 /folder1/');
只要PHP http服务器api正在运行 - 除非您没有更改此内容 - 在www-data
用户下无权执行此类任务。
您需要作为系统管理员首先为该文件夹folder1
授予0777权限,然后您可以使用php轻松地对其执行命令
另一种方法是为www-data
用户提供文件夹的所有权
但您仍然必须以超级用户[不推荐]
执行此命令$ chown www-data folder1/