Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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中取消链接并拒绝权限_Php_Apache_Permissions_Ftp - Fatal编程技术网

在php中取消链接并拒绝权限

在php中取消链接并拒绝权限,php,apache,permissions,ftp,Php,Apache,Permissions,Ftp,我正试图删除一个文件。我知道问题是什么,只是不知道如何正确设置权限 我目前的设置是Ubuntu 10.10 Netbeans,并通过FTP上传到我的开发服务器 这些是我为获得Apache2和VSTPD所做的步骤 为umask 0027设置vsftpd(/etc/vsftpd.conf)[local_umask=0027] 创建www用户组(组添加www用户) 将linux\u服务器\u用户添加到组(usermod-a-G组linux\u服务器\u用户) 将apache设置为作为www用户组(ht

我正试图删除一个文件。我知道问题是什么,只是不知道如何正确设置权限

我目前的设置是Ubuntu 10.10 Netbeans,并通过FTP上传到我的开发服务器

这些是我为获得Apache2和VSTPD所做的步骤

  • 为umask 0027设置vsftpd(/etc/vsftpd.conf)[local_umask=0027]
  • 创建www用户组(组添加www用户)
  • linux\u服务器\u用户
    添加到组(usermod-a-G组
    linux\u服务器\u用户
  • 将apache设置为作为www用户组(httpd.conf)运行
  • chgrp www-users/var/www
  • chmod 2775/var/www

  • 我猜我需要给apache权限来写我从FTP上传的文件。如何完成此操作?

    您可能需要检查您的ftp用户,看看他是否有删除文件的权限,有些用户只获得只读权限。如果您试图通过PHP
    取消链接()
    ,则可能必须先将文件CHMOD到777,然后才能执行此操作。

    让我们看看您的访问模式:

    2775
     ^^^
     ||'- read/exec by everyone in different groups
     |'-- read/write/exec by group only
     '--- read/write/exec by user only
    
    最后一个标志应至少为6(由其他组读取/写入)

    也就是说,在某些情况下,这是绝对不可能的(chmod、unlink等都失败)

    这就是为什么主要的新系统(如wordpress和joomla)提供通过FTP进行文件修改(以编程方式)的确切原因

    这是通过提供DSN以取消链接来实现的:

    unlink('ftp://user:pass@host/absolute/path/to/file');
    
    在某些情况下,可以禁用
    allow\u url\u fopen
    ,在这种情况下,您必须
    stream\u wrapper\u register()
    您自己的FTP类

    我发现PHP的FTP函数有很多问题,当我使用CURL函数时,它似乎工作得最好