警告:mkdir():托管商拒绝权限

时间:2021-05-02 09:36:28

标签: php hosting permission-denied

我试图用 php 自动创建目录,使用 mkdir() 函数。

<?php
session_start();

$domain = $_SESSION['domain'];
$mydomain = "/" . $domain;
echo $_SESSION['domain'] . " " . $mydomain . "<br />";
$mk = mkdir($mydomain, 0777, true);
if ($mk){
    echo "directory created";
}else{
    echo "directory no created";
}
?>

但它给了我这个错误

[02-May-2021 09:19:41 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7
[02-May-2021 09:22:28 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7
[02-May-2021 09:22:30 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7
[02-May-2021 09:22:31 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7
[02-May-2021 09:22:32 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7
[02-May-2021 09:22:32 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7
[02-May-2021 09:22:36 UTC] PHP Warning:  mkdir(): Permission denied in /home/u950517783/domains/mydomain.host/public_html/website/createdir.php on line 7

我该如何解决? 我正在使用托管服务

2 个答案:

答案 0 :(得分:0)

你可以像下面这样尝试

# Double-doublequote version. I'd avoid this, as multiple double quotes are hard to read
"${username}/${password}@{$hostIp}:${port}/${service} @""${sqlPath}"""
user1/pass1@{123.123.1.12}:1521/myDBname @"C:\My script\TEST_EXPORT.sql"
# Backtick-escape version
"${username}/${password}@{$hostIp}:${port}/${service} @`"${sqlPath}`""
user1/pass1@{123.123.1.12}:1521/myDBname @"C:\My script\TEST_EXPORT.sql"
# Quote in a variable version
"${username}/${password}@{$hostIp}:${port}/${service} @${quote}${sqlPath}${quote}"
user1/pass1@{123.123.1.12}:1521/myDBname @"C:\My script\TEST_EXPORT.sql"

如果 <?php session_start(); $domain = $_SESSION['domain']; $mydomain = "/" . $domain; echo $_SESSION['domain'] . " " . $mydomain . "<br />"; $old = umask(0); $mk = mkdir($mydomain, 0777, true); umask($old); if ($mk){ echo "directory created"; }else{ chmod($mydomain, 0777); } ?> 不起作用,您需要使用 mkdir()

更改权限

https://www.php.net/umask

答案 1 :(得分:0)

例如使用 echo 查看 $mydomain 的值,然后使用此命令授予权限

chmod 777 -R <directory name>
相关问题