Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法在AWS上的/home/ec2 user/MyDir/上创建文件夹_Php_Amazon Web Services_Aws Sdk - Fatal编程技术网

Php 无法在AWS上的/home/ec2 user/MyDir/上创建文件夹

Php 无法在AWS上的/home/ec2 user/MyDir/上创建文件夹,php,amazon-web-services,aws-sdk,Php,Amazon Web Services,Aws Sdk,我想在AWs上的“/home/ec2 user/MyDir/test”上创建一个文件夹,但它说权限被拒绝,尽管我已经给了该目录足够的权限 <?php $brideOrderFolder = '/home/ec2-user/MyDir/test'; if (!@mkdir($brideOrderFolder)) { $error = error_get_last(); echo $error['message']; //Error: mkdir(): Permission

我想在AWs上的“/home/ec2 user/MyDir/test”上创建一个文件夹,但它说权限被拒绝,尽管我已经给了该目录足够的权限

<?php
$brideOrderFolder = '/home/ec2-user/MyDir/test';

if (!@mkdir($brideOrderFolder)) {
    $error = error_get_last();
    echo $error['message']; //Error: mkdir(): Permission denied
}
exit;
?>

我不能在AWS中的“/home/ec2 user”目录下设置目录吗?

为了在Linux上对任何文件夹或文件进行任何更改,应用程序或用户应位于该组下

对文件夹ec2用户使用ls-l,查看哪个用户/组有权访问此文件夹,我确信www data没有权限访问此文件夹。默认情况下,Ec2用户有权访问其文件夹

您可以为此文件夹创建新组并更改所有者组

或者我建议 步骤1:在www/ec2 user temp下创建文件夹/ 现在php可以简单地在这个文件夹下创建文件夹。 步骤2:在crontab下安排一个copy命令,将文件夹递归复制到ec2用户。Crontab可以按您定义的时间间隔执行它

或者,您可以创建sym链接,以便在www文件夹下创建文件夹文件后立即自动复制文件夹文件。您可以从这里学习命令

为了安全起见,请避免任何php或服务器端应用程序对webroot或www文件夹之外的文件夹或文件进行更改


我希望这会有所帮助。

将父目录的所有者更改为“apache”用户


$sudo chown apache:apache/var/www/html/pathtoyordir/

我使用了
$sudo chown ec2 user:ec2 user/var/www/html/
,它成功了!感谢@pranjitsingh的提醒。

关于包含子目录有什么想法吗?$sudo chown-R apache:apache/var/www/html/pathtoyurdir/
[ec2-user@ip-xx-xxx-xxx-xxx MyDir]$ ls -ld
drwxrwxrwx 5 ec2-user ec2-user 4096 Aug 23 14:24 .