mkdir (): разрешение отклонено

У меня есть 777 на всех файлах на моем сервере. PHP 5.4 (нет safe_mode)

Сайт работает на других серверах. Это структура 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 

Убедись, что:

  • веб-каталог принадлежит пользователю apache. («ls -al» скажет вам)
  • родительский каталог, в который вы хотите создать, также принадлежит этому пользователю.
  • родительский каталог не является монтированием, в котором у вас нет прав на запись
  • путь, который вы хотите создать, правильный (var_dump ($ dstDir) скажет вам)
  • $ this-> newDirMode содержит правильное значение разрешения. (Если вы работаете в окнах, это будет проигнорировано)

Если проблем нет, и я все равно не буду работать:

  • сделайте себя пользователем apache и попытайтесь создать его вручную («sudo -u apache», если ваше имя пользователя – apache)
  • попробуйте опустить третий параметр «true» в «mkdir ($ dstDir, $ this-> newDirMode, true); и создавать все каталоги один за другим
  • проверять журналы («/ var / log / apache» – ваш друг)

Надеюсь это поможет.

Проблема SELinux может быть проблемой. Попробуйте отключить его вручную:

 setenforce 0 

Проверьте SELinux и выключите его. Теперь он работает!

SELinux был виновником моего настроения. Спасибо за напоминание!