Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Атаман

Переезд на новый сервер. IPS 4.1 - права 777

Recommended Posts

Съехали на новый сервер, но не могу разораться с правами на папки.

 

Ситуация в следующем: Вышло новое оформление для форума, хотел воспользоваться функцией загрузить новую версию, выбрал файл и начал загрузку и выскочила ошибка

 

Извините, у вас нет для этого разрешений!

1S111/1 COULD_NOT_WRITE_FILE

 

Глянул в журнале Лог

#0 /var/www/site/site.com.ua/system/File/File.php(239): IPS\File\_FileSystem->save()
#1 /var/www/site/site.com.ua/applications/core/modules/admin/customization/themes.php(1306): IPS\_File::create('core_Theme', 'd0e70b4cbb9ab8a...', '\x89PNG\r\n\x1A\n\x00\x00\x00\rIHD...', 'set_resources_2', false, NULL, false)
#2 [internal function]: IPS\core\modules\admin\customization\_themes->IPS\core\modules\admin\customization\{closure}(Array)
#3 /var/www/site/site.com.ua/system/Helpers/MultipleRedirect/MultipleRedirect.php(93): call_user_func(Object(Closure), Array)
#4 /var/www/site/site.com.ua/applications/core/modules/admin/customization/themes.php(1466): IPS\Helpers\_MultipleRedirect->__construct(Object(IPS\Http\Url\Internal), Object(Closure), Object(Closure))
#5 [internal function]: IPS\core\modules\admin\customization\_themes->import()
#6 /var/www/site/site.com.ua/system/Dispatcher/Controller.php(85): call_user_func(Array)
#7 /var/www/site/site.com.ua/system/Node/Controller.php(63): IPS\Dispatcher\_Controller->execute()
#8 /var/www/site/site.com.ua/system/Dispatcher/Dispatcher.php(129): IPS\Node\_Controller->execute()
#9 /var/www/site/site.com.ua/admin/index.php(13): IPS\_Dispatcher->run()
#10 {main}

 

Обратил внимание, что управление ресурсами тоже внешнего вида не работали, вылечил выставлением прав css_built_х и set_resources_х и вложенных на них файлов.

 

Сделал эксперимент: установил внешний вид (аналогичный), и поверх попробовал его обновить (той-же) версией, и все прошло удачно.

 

Подскажите, где еще не выставлены права?

Share this post


Link to post
Share on other sites

Старые пути в System -> Files -> Store settings исправлены и кеш обновлен?

/uploads/

/datastore/

/plugins/

нужно выдать права на запись рекурсивно.

  • Upvote 1

Share this post


Link to post
Share on other sites
Старые путь в System -> Files -> Store settings исправлены и кеш обновлен?

Да

 

/uploads/

/datastore/

/plugins/

Права на папки и на все папки и файлы которые внутри 777 ?

Share this post


Link to post
Share on other sites

Права на папки и на все папки и файлы которые внутри 777 ?

Да. Особенно это касается uploads.

  • Upvote 1

Share this post


Link to post
Share on other sites

Установил 777 на все, но безрезультатно, а могло повлиять то, что я вносил правки в внешний вид?

#0 /var/www/site/site.com.ua/system/File/File.php(239): IPS\File\_FileSystem->save()
#1 /var/www/site/site.com.ua/applications/core/modules/admin/customization/themes.php(1306): IPS\_File::create('core_Theme', 'd0e70b4cbb9ab8a...', '\x89PNG\r\n\x1A\n\x00\x00\x00\rIHD...', 'set_resources_2', false, NULL, false)
#2 [internal function]: IPS\core\modules\admin\customization\_themes->IPS\core\modules\admin\customization\{closure}(Array)
#3 /var/www/site/site.com.ua/system/Helpers/MultipleRedirect/MultipleRedirect.php(93): call_user_func(Object(Closure), Array)
#4 /var/www/site/site.com.ua/applications/core/modules/admin/customization/themes.php(1466): IPS\Helpers\_MultipleRedirect->__construct(Object(IPS\Http\Url\Internal), Object(Closure), Object(Closure))
#5 [internal function]: IPS\core\modules\admin\customization\_themes->import()
#6 /var/www/site/site.com.ua/system/Dispatcher/Controller.php(85): call_user_func(Array)
#7 /var/www/site/site.com.ua/system/Node/Controller.php(63): IPS\Dispatcher\_Controller->execute()
#8 /var/www/site/site.com.ua/system/Dispatcher/Dispatcher.php(129): IPS\Node\_Controller->execute()
#9 /var/www/site/site.com.ua/admin/index.php(13): IPS\_Dispatcher->run()
#10 {main}

Edited by Атаман

Share this post


Link to post
Share on other sites

Открыть \system\File\FileSystem.php

Найти

throw new \RuntimeException( 'COULD_NOT_WRITE_FILE' );

Заменить на

throw new \RuntimeException( 'COULD_NOT_WRITE_FILE' . "\n" . "File: {$folder}/{$this->filename}" . "\n" . "Chmod: ".substr(sprintf('%o', fileperms("{$folder}/{$this->filename}")), -4) );

Привести полный лог ошибки.

  • Upvote 1

Share this post


Link to post
Share on other sites

1S111/1 COULD_NOT_WRITE_FILE File: /var/www/site/site.com.ua/uploads/set_resources_2/d0e70b4cbb9ab8afb1bc1065a3f8487a_wizard_step_extra@2x.png Chmod: 0777

 

Но на этот файл и так такие права 777

Share this post


Link to post
Share on other sites

Только, что странно владельцы отличаются

 

На свежеустановленной

Пользователь/группа

81 / apache

 

На старой теме

kms / apache

Share this post


Link to post
Share on other sites

Там может быть и баг.

 

Ну-ка попробуй заменить

 

!@\file_put_contents( "{$folder}/{$this->filename}", $contents )

на

@\file_put_contents( "{$folder}/{$this->filename}", $contents ) === FALSE

  • Upvote 1

Share this post


Link to post
Share on other sites
Только, что странно владельцы отличаются

Новая тема была создана пользователем под которым апач, старая перенесена пользователем по фтп. Chmod 777 должен разрешить запись всем пользователям.

  • Upvote 1

Share this post


Link to post
Share on other sites

1S111/1 COULD_NOT_WRITE_FILE File: /var/www/site/site.com.ua/uploads/set_resources_2/d0e70b4cbb9ab8afb1bc1065a3f8487a_wizard_step_extra@2x.png Chmod: 0777

Share this post


Link to post
Share on other sites

Путь к этому файлу точно верный?

 

throw выше замени на

throw new \RuntimeException( 'COULD_NOT_WRITE_FILE' . "\n File: {$folder}/{$this->filename}" . "\n Chmod: ".substr(sprintf('%o', fileperms("{$folder}/{$this->filename}")), -4) ) . "\n Writable: ". (string) is_writable( "{$folder}/{$this->filename}" ). "\n Filegroup:".filegroup( "{$folder}/{$this->filename}" )."\n Fileowner".fileowner( "{$folder}/{$this->filename}" );

 

Попробуй сменить владельца файлов. Указать тот же пользователь, под которым работает апач.

  • Upvote 1

Share this post


Link to post
Share on other sites

Верный, запросил смену владельца. То ssh не дает менять (нет доступа).....

Share this post


Link to post
Share on other sites

set_resources_2 это старая или новая тема?

  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...