我是第一次使用 Smarty。它在我的笔记本电脑 (MAMP) 上运行良好,但是当我尝试在生产服务器 (Windows) 上运行基本模板时,我收到以下错误消息:
Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file C:\Inetpub\vhosts\path\to\web\root\smarty\templates_c\wrt516e53290e2095.47946913' in C:\Inetpub\vhosts\path\to\web\root\smarty\libs\sysplugins\smarty_internal_write_file.php:44 Stack trace:
#0 C:\Inetpub\vhosts\path\to\web\root\smarty\libs\sysplugins\smarty_internal_template.php(201): Smarty_Internal_Write_File::writeFile('C:\Inetpub\vhos...', '<?php /* Smarty...', Object(Smarty))
#1 C:\Inetpub\vhosts\path\to\web\root\smarty\libs\sysplugins\smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#2 C:\Inetpub\vhosts\path\to\web\root\smarty\libs\sysplugins\smarty_internal_templatebase.php(374): Smarty_Internal_TemplateBase->fetch('test.tpl', NULL, NULL, NULL, true)
#3 C:\Inetpub\vhosts\path\to\web\root\admin-new\admin.php(99): Smarty_Internal_TemplateBase->display('test.tpl')
#4 {main} thrown in C:\Inetpub\vhosts\path\to\web\root\smarty\libs\sysplugins\smarty_internal_write_file.php on line 44
我认为这可能与文件权限有关(并不是说我对文件权限在 Windows 上的工作方式一无所知),但是当这一行:
var_dump(is_writable('C:\Inetpub\vhosts\path\to\web\root\smarty\templates_c'))
打印出来bool(true)
不知道从这里去哪里。为什么 Smarty 不工作?