gpt4 book ai didi

php - mkdir() : Permission denied

转载 作者:可可西里 更新时间:2023-11-01 13:16:16 26 4
gpt4 key购买 nike

我服务器上的所有文件都有 777。 PHP 5.4(无安全模式)

站点可在其他服务器上运行。是 Yii 框架

 mkdir(): Permission denied

/var/www/html/project/framework/web/CAssetManager.php(225)

213 return $this->_published[$path];
214 elseif(($src=realpath($path))!==false)
215 {
216 $dir=$this->generatePath($src,$hashByName);
217 $dstDir=$this->getBasePath().DIRECTORY_SEPARATOR.$dir;
218 if(is_file($src))
219 {
220 $fileName=basename($src);
221 $dstFile=$dstDir.DIRECTORY_SEPARATOR.$fileName;
222
223 if(!is_dir($dstDir))
224 {
225 mkdir($dstDir,$this->newDirMode,true);
226 chmod($dstDir,$this->newDirMode);
227 }

这里ls -l在chown之后,没有帮助

drwsrwsrwx.  2 apache apache    4096 июля   3 16:44 assets
drwxrwxrwx. 5 apache apache 4096 июня 10 14:52 bootstrap
drwxrwxrwx. 19 apache apache 4096 июля 3 16:04 framework
-rwxrwxrwx. 1 apache apache 326 июля 3 16:42 index.php
drwxrwxrwx. 10 apache apache 4096 июля 3 16:04 protected
drwxrwxrwx. 3 apache apache 4096 июня 20 13:28 soap
drwxrwxrwx. 3 apache apache 4096 июля 3 16:04 themes

最佳答案

确保:

  • web 目录归 apache 用户所有。 (“ls -al”会告诉你)
  • 您要在其中创建的父目录也归该用户所有。
  • 父目录不是您没有写权限的挂载
  • 您要创建的路径是正确的(var_dump($dstDir) 会告诉您)
  • $this->newDirMode 包含正确的权限值。 (如果您在 Windows 上运行,这将被忽略)

如果没有问题,但还是不行,我会这样做:

  • 让自己成为 apache 用户并尝试手动创建它(如果您的用户名是 apache,则为“sudo -u apache”)
  • 尝试省略“mkdir($dstDir,$this->newDirMode,true);”中的第三个参数“true”并依次创建所有目录
  • 检查日志(“/var/log/apache”是你的 friend )

希望这对您有所帮助。

关于php - mkdir() : Permission denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17450129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com