我正在将WebAPP从Smarty2迁移到Smarty3。除了一步外,每一步都是容易的。当我显示Smarty模板( tpl )时,会引发异常。
这条线
Source: /path_to_file/smarty/libs/sysplugins/smarty_resource.php (773)
(这是源coude $compiled->timestamp = @filemtime($compiled->filepath); )
当文件不存在时引发此异常,
filemtime() [function.filemtime]: stat failed for /path_to_templates/smarty/templates_c/219dfe732aae7bd7c0edab091e3c53f3ce86b058.file.index.tpl.php
文件夹权限:
智能模板文件夹权限:775
智能缓存文件夹权限:775
文件夹所有者:
两种ftp_user:webserver_user
我正在尝试实现不同的解决方案,但似乎不可能解决这个问题,白化错误报告或禁用我的错误处理程序。
没有黑客怎么解决这个问题?
发布于 2014-07-17 07:54:00
您应该做的不是降级到3.1.1,而是尝试升级到3.1.19版本。许多bug一直在被删除,所以在这个版本中,您可能不会有它。
另一件事是,您可以使用muteExpectedErrors方法向Smarty隐藏文件系统警告(此函数的文档并不十分清楚,但它会影响error_reporting文档中解释的文件系统警告)。您可以在报告文件页面阅读:
Smarty3.1.2引入了muteExpectedErrors()函数。调用Smarty::muteExpectedErrors();在设置自定义后,错误处理将确保Smarty生成的警告和通知(故意)不会传递给其他自定义错误处理程序。如果错误日志中装满了有关filemtime()或unlink()调用的警告,请启用Smarty的错误静音。
发布于 2014-07-17 13:09:09
检查/path_to_templates/smarty/templates_c/219dfe732aae7bd7c0edab091e3c53f3ce86b058.file.index.tpl.php上的文件系统权限
PHP对该文件没有读取/写入权限。
还可以检查/path_to_templates/smarty/templates_c/文件夹中的权限。PHP也允许读取列表和写入列表吗?
https://stackoverflow.com/questions/24785516
复制相似问题