当在 Linux 服务器上部署 ThinkPHP 项目时,如果出现“模板不存在”的错误提示信息,通常会有以下两种情况:
针对这两种情况,我们可以采取以下措施解决:
如果是因为模板文件路径错误导致的问题,通常可以查看以下两个文件:
'TMPL_FILE_DEPR' => '/', //模板文件MODULE_NAME与ACTION_NAME之间的分割符,只对项目分组部署有效
'TMPL_TEMPLATE_SUFFIX' => '.html', // 默认模板文件后缀
'TMPL_TEMPLATE_SUFFIX' => '.tpl', // 当使用模板引擎渲染分离的模板文件时,可以修改该参数指定模板文件的后缀
$this->display('Admin/Index/index');
当使用模板引擎缓存模板文件时,有时候可能会导致模板文件路径出现错误,此时可以通过以下措施解决:
清除模板缓存:在项目根目录下找到 /Runtime/Cache/ 目录,将其清空即可。
修改缓存路径:在 config.php 文件中,使用以下代码更改模板缓存路径:
'HTML_CACHE_PATH' => TEMP_PATH . 'HtmlCache/',
示例一:
假设在 Linux 服务器的 /var/html/project 文件夹中部署了一个 ThinkPHP 项目,其中模板文件存放路径为 /var/html/project/Application/Home/View/Index/index.html。在浏览器中访问该网址提示“模板不存在”的错误,可以进行如下操作:
检查模板文件路径是否正确(即上述路径)。如果不正确可以使用代码 $this->display('Home/Index/index') 修改这一部分代码。
如果仍然出现路径错误,可以尝试清除缓存。执行下面的命令:
cd /var/html/project
rm -rf Runtime/Cache/*
示例二:
假设在 Linux 服务器的 /usr/local/var/www/html 文件夹中部署了一个 ThinkPHP 项目,其中模板文件存放路径为 /usr/local/var/www/html/Application/Home/View/Index/index.html。在浏览器中访问该网址提示“模板不存在”的错误,可以进行如下操作:
检查模板文件路径是否正确(即上述路径)。如果不正确可以使用代码 $this->display('Home/Index/index') 修改这一部分代码。
如果仍然出现路径错误,可以尝试修改缓存路径。在 config.php 文件中找到以下代码:
'HTML_CACHE_PATH' => TEMP_PATH . 'HtmlCache/',
将 HTML_CACHE_PATH 的值更改为临时文件夹的正确路径即可。例如:
'HTML_CACHE_PATH' => '/tmp/HtmlCache/',