我在Linux上使用Php Smarty。
我的Php文件中有一行:
$phpsmart->display("pagetemplate.tpl");
此行应显示pagetemplate.tpl
。它没有。
答案 0 :(得分:4)
启用错误或检查日志。最可能的事情是你没有设置smarty所需的可写目录。
我刚刚与作曲家安装了smarty:
cex
尝试了演示:
cex=9
然后我创建了' template_c'文件夹,并使其可由Web服务器写入。
$ composer.phar require smarty/smarty
然后我创建了'缓存'文件夹,并使其可由Web服务器写入。
然后该演示工作了。
答案 1 :(得分:0)
即使更改了文件的文件权限和所有权,它也不会显示tpl文件。
对于遇到此类问题的人。
1)chmod -R 755 / var / www - >这将为所有者和组的其他人(所有者所属)提供读写权限,而其他人则具有读取和执行权限。并且这是递归分配的,因此www中的所有文件和目录也将具有相同的权限
2)chown -R apache:apache / var / www - >这将为make apache所有者提供www和包含文件。这也是递归应用的。
3)您的网站所有者需要对template_c文件的写入权限,因此请使用ls -altr检查是否已授予写入权限,如果写入是755(rwxr-xr-x)且仍然无效,请将其更改为777 (记住chmod)。还要检查缓存文件夹..
4)如果仍然无法正常工作,则selinux可以保护对template_c文件的写访问权限。所以为此你需要以下命令
setsebool -P httpd_unified=1 -> This will disable selilnux for apache httpd.
享受!