2014-02-20 3 views
0

Сайт работает под управлением PHP. Использование Smarty 3.1.xНевозможно записать в файл

Веб-сайт работал нормально около полугода без каких-либо изменений! Около 2-3 недель назад он начал получать журналы ошибок:

2014-02-21 0:22:19 - CRIT --> unable to write file D:\home\site\wwwroot\/include/smarty/templates_c\bc3a2c744a52ffed3fac136ce7e5bacb0648e1ba.file.ik_home.tpl.php. Line: 74. File: D:\home\site\wwwroot\include\smarty\libs\sysplugins\smarty_internal_write_file.php 

Вместо имен файлов, которые должны быть созданы, лазурь хостинг создает файлы со странными именами, т.е.

wrt530644e3a6c503.24424555

вместо

bc3a2c744a52ffed3fac136ce7e5bacb0648e1ba.file.ik_home.tpl.php

можно переименовать wrt530644e3a6c503.24424555 к желаемому bc3a2c744a52ffed3fac136ce7e5bacb0648e1ba.file.ik_home.tpl.php с помощью FTP-клиент

var_dump (is_writable ('~/включать/Smarty/templates_c')); // bool (true)

Я нашел аналогичный вопрос в SO Smarty - 'unable to write file... templates_c'. (smarty_internal_write_file.php:44), но у него нет ответа и он закрыт. Автор просто сказал, что его хостинг-компания имеет фиксированные разрешения.

Есть еще один вопрос SO WindowsAzure: Is it possible to set directory permissions within the web.config? Ответ объясняет, что происходит, если происходит сбой жесткого диска, перемещение моих файлов на другую стойку и восстановление экземпляра. Что делать с разрешениями в этом случае? Я действительно не знаю, были ли какие-либо сбои на самом деле :)

ответ

0

Проблема решена. Проблема заключалась в двойной обратной/прямой косые черты на пути. Изменено:

D:\home\site\wwwroot\/include/smarty/templates_c\bc3a2c744a52ffed3fac136ce7e5bacb0648e1ba.file.ik_home.tpl.php 

Для

D:\home\site\wwwroot/include/smarty/templates_c\bc3a2c744a52ffed3fac136ce7e5bacb0648e1ba.file.ik_home.tpl.php 

Почему Azure перестал обрабатывать двойные слеши в пути ?!

Смежные вопросы