Если на сайте modx, prestashop или другой CMS которая использует плагин smarty появляется ошибка:
1 |
Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file ' in /var/www/www-root/data/www/novall.net/core/model/smarty/sysplugins/smarty_internal_write_file.php:35 Stack trace: #0 /var/www/www-root/data/www/novall.net/core/model/smarty/sysplugins/smarty_internal_template.php(271): Smarty_Internal_Write_File::writeFile('/var/www/www-ro...', '<?php /* Smarty...', Object(modSmarty)) #1 /var/www/www-root/data/www/novall.net/core/model/smarty/sysplugins/smarty_internal_template.php(412): Smarty_Internal_Template->compileTemplateSource() #2 /var/www/www-root/data/www/novall.net/core/model/smarty/sysplugins/smarty_internal_template.php(554): Smarty_Internal_Template->renderTemplate() #3 /var/www/www-root/data/www/novall.net/core/model/smarty/Smarty.class.php(335): Smarty_Internal_Template->getRenderedTemplate() #4 /var/www/www-root/data/www/novall.net/core/model/modx/modmanagercontroller.class.php(264): Smarty->fetch('security/login....') #5 /var/www/www-root/data/www/novall.net/co in /var/www/www-root/data/www/novall.net/core/model/smarty/sysplugins/smarty_internal_write_file.php on line 35 |
Для решения данной проблемы достаточно исправить права в папках и файлах ssh командой:
1 |
find ./* -type d -exec chmod 755 {} \; ; find ./* -type f -exec chmod 644 {} \; |
Если данный способ вам не помог то проверьте в каком режиме работает php на вашем сервере apache если режим “модуль Apache” то вам нужно переключить его в в режим “FastCGI” если это невозможно то нужно сменить владельца файлов и папок на тот от которого запущен веб-сервер Apache, обычно это пользователь и группа apache, сменить права на все папки и файлы можно командой выполненной в папке вашего сайта:
1 |
chown -R apache: ./* |
БУДЬТЕ ВНИМАТЕЛЬНЫ при выполнении данных команд проверяйте в какой папке вы находитесь, данные команды нужно выполнять исключительно в папке сайта иначе вы рискуете повредить работе сервера.