Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Fatal error:
 
 автор: EnD   (13.01.2010 в 16:36)   письмо автору
 
 

После изменения одного из файла-шаблона, при загрузке главной страницы выдается такая ошибка -
Fatal error: Smarty error: unable to write to $compile_dir '/home/clients/mercedescrimea/templates_c'. Be sure $compile_dir is writable by the web server user. in /home/clients/mercedescrimea/smarty/Smarty.class.php on line 1163

Так вроде бы не изменял ничего серьезного. При чем после того, как вернул все как было, ошибка все равно вылазит. Подскажите пожалуйста, в чем может быть дело?

  Ответить  
 
 автор: Лена   (13.01.2010 в 17:28)   письмо автору
 
   для: EnD   (13.01.2010 в 16:36)
 

Ищите, где у вас подключается класс Смарти.
Это строка - require_once ("smarty/Smarty.class.php"); или require,или include,или include_once.
Дальше после того, как вы объявили новый экземпляр класса, например:
$smarty = new Smarty;
пропишите $smarty->compile_dir = $_SERVER['DOCUMENT_ROOT']."/templates_c/";
или просто $smarty->compile_dir = "templates_c/"; - относительный путь.
У вас почему-то не устанавливается путь к директории, в которой лежат уже скомпилированные шаблоны - templates_c.

  Ответить  
 
 автор: Loki   (13.01.2010 в 17:33)   письмо автору
 
   для: EnD   (13.01.2010 в 16:36)
 

templates_c существует? для записи доступна?

  Ответить  
 
 автор: EnD   (13.01.2010 в 17:38)   письмо автору
 
   для: Loki   (13.01.2010 в 17:33)
 

Ага, существует, права доступа 775.
А вот я в коде кое что поменял:
     * trigger Smarty error
     *
     * @param string $error_msg
     * @param integer $error_type
     */
    function trigger_error($error_msg, $error_type = E_USER_WARNING)
    {
        trigger_error("Smarty error: $error_msg, $error_type"); --- вот тут переставил кавычки, были сразу после $error_msg, , а я поставил перед закрывающейся скобкой.
    }


Сайт начал отображаться, только сверху такая строка появляется:
Notice: Smarty error: unable to write to $compile_dir '/home/clients/mercedescrimea/templates_c'. Be sure $compile_dir is writable by the web server user., 256 in /home/clients/mercedescrimea/smarty/Smarty.class.php on line 1163

То есть добавилась цифра 256, что она значит?

Вот и не ясно, что же я мог испортить? До этого все работало отлично. Потом я кое что поменял в файле-шаблоне, и появилась такая фигня. Ну не вижу я тут связи хоть убейте...
В руководстве к Смарти вычитал, что эта ошибка значит, что недостаточно прав для записи в эту папку, я поэкспериментировал с CHMOD, но в принципе не многое поменялось...

  Ответить  
 
 автор: EnD   (13.01.2010 в 18:26)   письмо автору
 
   для: EnD   (13.01.2010 в 17:38)
 

Все ребят. Не знаю, что это было, но выставил везде, где может касаться этот код права 775, плюс поковырялся в коде исполняющего файла (php файл, который работает с шаблоном), и все заработало! Прям чудеса какие-то. Спасибо всем, кто откликнулся!

  Ответить  
 
 автор: EnD   (14.01.2010 в 10:56)   письмо автору
 
   для: EnD   (13.01.2010 в 18:26)
 

Вот следующий вопрос по смарти, чтобы уж тему новую не делать.
Проблема в том, что в админке сайта, не могу изменить ни одно имя (хоть раздела, хоть статьи), то есть нажимая редактировать он позволяет написать что угодно, но при нажатии клавиши Энтер ничего не происходит вообще, приходится выходить из редактирования esc-ом, и без сохранения. Что странно, первый раз зайдя в админку, я смог переименовать один из разделов без проблем. Кто что подскажет?

  Ответить  
 
 автор: sim5   (14.01.2010 в 10:58)   письмо автору
 
   для: EnD   (14.01.2010 в 10:56)
 

А при чем тут Смарти?

  Ответить  
 
 автор: EnD   (14.01.2010 в 11:01)   письмо автору
 
   для: sim5   (14.01.2010 в 10:58)
 

ну возможно чего-то я не понимаю, админка разве не часть смарти? Или это вообще отдельная система? Я просто чего-то подумал, что они связаны...

  Ответить  
 
 автор: sim5   (14.01.2010 в 11:06)   письмо автору
 
   для: EnD   (14.01.2010 в 11:01)
 

Админка может быть написана с применением шаблонизатора Смарти, но это совсем не означет, что он обязательно виновен - Смарти не занимается приемом и обработкой принимаемых данных!

  Ответить  
 
 автор: EnD   (14.01.2010 в 11:08)   письмо автору
 
   для: sim5   (14.01.2010 в 11:06)
 

Хорошо, я понял, спасибо за разъяснения. А Ваши предположения можно услышать по поводу случившегося?

  Ответить  
 
 автор: sim5   (14.01.2010 в 11:10)   письмо автору
 
   для: EnD   (14.01.2010 в 11:08)
 

И что вы хотите услышать? Я ведь не маг, не ясновидящий, как впрочем и все остальные. Разбирайтесь в коде своем. Откуда же я знаю, чего там у вас написано.

  Ответить  
 
 автор: EnD   (14.01.2010 в 11:15)   письмо автору
 
   для: sim5   (14.01.2010 в 11:10)
 

Ну елки, я же не прошу установить точную причину. Есть вероятность, что кто-то уже сталкивался с такой или похожей проблемой, и я хотел бы услышать, как они решили эту проблему, вот и все, ничего сверхъестественного я не прошу...

  Ответить  
 
 автор: sim5   (14.01.2010 в 11:20)   письмо автору
 
   для: EnD   (14.01.2010 в 11:15)
 

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

  Ответить  
 
 автор: EnD   (14.01.2010 в 11:29)   письмо автору
 
   для: sim5   (14.01.2010 в 11:20)
 

Ну вот я автомобилист, и могу перечислить скажем 20 причин, почему машина завалилась в кювет, но всегда есть наиболее часто встречающаяся ошибка(баг), которая и приводит к данной ошибке, и грамотный водитель всегда может предположить хотя бы ее. Речь же не идет о ВСЕХ возможных причинах...

  Ответить  
 
 автор: sim5   (14.01.2010 в 11:34)   письмо автору
 
   для: EnD   (14.01.2010 в 11:29)
 

Вы будете думать о 20, а окажется, что 21-ая.
Запомните раз и навсегда - вам могут ответь на кокретный вопрос, а на простацию вашу, никто не будет делать предположений.
И самое главное - взялись программировать, учитесь анализировать код свой, его работу, дабы искать в нем ошибки.

  Ответить  
 
 автор: EnD   (14.01.2010 в 11:37)   письмо автору
 
   для: sim5   (14.01.2010 в 11:34)
 

Хорошо, я Вас понял. На счет анализа кода абсолютно согласен, и со своим кодом я так и делаю, честно :) Но тут дали под админ. сайт один, а создатели постарались сделать так. чтобы только они смогли его администрировать (со своей естественно мат-ой выгодой), вот и мучаюсь теперь... Всю важную инфу, которая нужна для админ. уже я изучил, но вот есть всякие такие мелкие загвоздки, портящее общую картину...

  Ответить  
 
 автор: sim5   (14.01.2010 в 11:43)   письмо автору
 
   для: EnD   (14.01.2010 в 11:37)
 

Вот у меня нет простого вывода на страницу - что мне надо сделать?
Вы хоть понимаете, что просите сходить туда, не знаю куда, принести то, не знаю что?
Хватит демагогии, анализируйте работу, ищите, либо обращайтесь с конкретным вопросом.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования