我第一次使用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没有工作?