【问题标题】:my php code cant create directory in host我的 php 代码无法在主机中创建目录
【发布时间】:2015-11-09 07:45:37
【问题描述】:

我使用这个 php 代码来创建我所有 MYSQL 数据库的备份。 但它发送此错误:无法创建目录

<?php
..
..
..
..

        if (mysql_select_db($db)) print "Selected [$db]\n";
        else die("Failed to select db [$db]");
        foreach (array("schema","data") as $pass){
            $sql = mysql_query("show tables");
            $day = date("l");
            if ($pass=="schema") $dir = "/$backup_dir/$db/schema";
            else $dir =  "/$backup_dir/$db/$day";
            if (!file_exists($dir)) system("mkdir -p $dir");
            if (!file_exists($dir)) die("Couldn't Create $dir");
            if ($pass=="data"){
                $latest = ( /$backup_dir/$db/latest"; )
                unlink($latest);
                system("/bin/ln -s \"$dir\" \"$latest\"");
            }            
            cleanup($dir);
            if ($sql) while ($s = mysql_fetch_assoc($sql)) {
                if (!isset($s["Tables_in_{$db}"])) {
                    print "no result";
                    print_r($sql);
                    die();
                }

..
..
..

?>

使用下面的代码,我可以在我的主机中创建目录:

<?php
$structure = './depth1/depth2/depth3/';
if (!mkdir($structure, 0777, true)) {
    die('Failed to create folders...');
}
?>

有没有办法结合这些代码或任何其他建议来解决这个问题?

问候 :)

【问题讨论】:

  • system("mkdir -p $dir 777")
  • 您正在使用 linux 操作系统?
  • 感谢您的反馈。我的操作系统是 Windows 2012 r2(如果有帮助)

标签: php mysql directory


【解决方案1】:

我理解你的问题,你只是不能在你的网络服务器上创建一个文件夹?因此,您通常对该文件夹没有任何权利,或者说得更好。 webserver-user 没有。

如果您在 Linux 上使用像 apache2 这样的网络服务器,您必须授予用户对备份文件夹的父文件夹的 www-data 权限。

linux 命令: chown -R www-data:www-data &lt;your Folder&gt;

【讨论】:

  • 亲爱的 lino,感谢您的回答。但问题不在于 Write Permissions 。该文件夹具有完整(读/写)权限。正如我提到的第二个代码可以毫无问题地创建该路径。/顺便说一句,我正在使用 Windows Server 2012
  • @SaeedMohammadi 哦,好吧,你试过只创建一个文件吗?或者路径不正确,因为从您打开文件的位置可能是路径不再正常工作:)
  • 亲爱的 lino,感谢您的评论。/是的,我做到了。我自己创建了那条路,但没有帮助.../
  • @SaeedMohammadi 好的,那我帮不了你 :) 对不起,如果我让你困惑了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-28
  • 2017-12-14
  • 1970-01-01
  • 2018-07-20
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多