Błąd przy próbie uruchamianie smarty

0

Mam taki problem pierwszy raz uruchamiam projekt na smarty i dostaje błąd.

--> Smarty: unable to write file /var/www/html/smarty/templates_c/wrt592d6f84aac709_48236391 <-- \n thrown in /usr/lib/php5/Smarty/sysplugins/smarty_internal_runtime_writefile.php on line 49

A w tym katalogu mam ustawiony chmod -R 777
i jeszcze kod projektu

<?php

// put full path to Smarty.class.php
require('/usr/lib/php5/Smarty/Smarty.class.php');
$smarty = new Smarty();

$smarty->setTemplateDir('../smarty/templates');
$smarty->setCompileDir('../smarty/templates_c');
$smarty->setCacheDir('../smarty/cache');
$smarty->setConfigDir('../smarty/configs');

$smarty->assign('name', 'Ned');
$smarty->display('index.tpl');

?>

Dodam, że plik index.tpl mam w katalogu ./smarty/templates

Natomiast plik index.php leży w katalogu ./

0

Już sytuacja opanowana miałem błędną ścieżkę prawidłowa powinna być taka

$smarty->setTemplateDir('./smarty/templates');
$smarty->setCompileDir('./smarty/templates_c');
$smarty->setCacheDir('./smarty/cache');
$smarty->setConfigDir('./smarty/configs');
0

Zdefiniuj sobie w pliku index.php coś w stylu:

// plik public/index.php
define('BASE_PATH', dirname(__DIR__));
define('APP_PATH', BASE_PATH . '/application');

i później używaj

$smarty->setCompileDir(BASE_PATH . '/smarty/templates_c');

czy coś takiego, to pozbędziesz się takich baboli. Poza tym jak kiedyś wpadniesz na pomysł refaktoryzacji i przeniesiesz kawałek kodu do innego pliku to Ci się posypie aplikacja. Lepiej jest mieć ścieżki absolutne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1