Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Smarty编译目录权限被拒绝_Php_Permissions_Smarty - Fatal编程技术网

Php Smarty编译目录权限被拒绝

Php Smarty编译目录权限被拒绝,php,permissions,smarty,Php,Permissions,Smarty,将php文件从windows移动到linux(centos)后,我开始出现以下权限错误: ERRNO: 2 TEXT: rename(/tmp/wrtwetuti,/var/www/site1/presentation//compile_dir/ee63ba1108c61f830b5d6155f21b1bcd04684f7e.file.category.tpl.php): Permission denied LOCATION: /var/www/site1/libs/smarty_3/syspl

将php文件从windows移动到linux(centos)后,我开始出现以下权限错误:

ERRNO: 2
TEXT: rename(/tmp/wrtwetuti,/var/www/site1/presentation//compile_dir/ee63ba1108c61f830b5d6155f21b1bcd04684f7e.file.category.tpl.php): Permission denied
LOCATION: /var/www/site1/libs/smarty_3/sysplugins/smarty_internal_write_file.php, line 48, at September 9, 2011, 4:05 am
当出于测试目的将chmoded compile_dir设置为777时,问题就消失了

我想知道是否有人知道解决办法。
安装suPHP可以解决此问题吗?

您可以查看此页面: “Smarty将需要对$compile\u dir和$cache\u dir目录(模板和缓存/)的写访问权限(windows用户请忽略),因此请确保web服务器用户帐户可以对它们进行写操作。”


希望这有帮助。

您可以查看此页面: “Smarty将需要对$compile\u dir和$cache\u dir目录(模板和缓存/)的写访问权限(windows用户请忽略),因此请确保web服务器用户帐户可以对它们进行写操作。”

希望这有帮助。

应该是可由web服务器写入的(也可以在您的web根目录之外)。所以你应该:

  • 将其移出web根目录
  • 将所有权分配给web服务器用户
  • 把它调到700
在Windows安装上,默认的编译目录也可以由web服务器写入,这一事实对于该操作系统来说是典型的,并不意味着Linux上有需要修复的东西。

应该可以由web服务器写入(也可以在web根目录之外)。所以你应该:

  • 将其移出web根目录
  • 将所有权分配给web服务器用户
  • 把它调到700

在Windows上安装默认的
compile\u dir
也是可由web服务器写入的,这一事实对于该操作系统来说是典型的,并不意味着Linux上有需要修复的东西。

为什么我需要将其移出web根目录?@Eugene:原则上,因为文档建议这样做。实际上,如果您不这样做,那么除非您的web服务器被专门配置为禁止,否则internet上的任何人都可能获得您编译的Smarty模板。这将允许他们了解您的代码中您可能不想让他们知道的内容。谢谢!那么将compile_dir从/var/www/site1/presentation/compile_dir/移动到/var/compile_dir/就可以了吗?@Jon,你能解释一下如何找到“web服务器用户”的名字吗?或者如何“将所有权分配给web服务器用户”@klm123:假设为Linux,用于web服务器用户名:。更改所有权:
sudo chown new\u owner compile\u dir
。标准的东西。为什么我需要把它移出web根目录?@Eugene:原则上,因为文档推荐它。实际上,如果您不这样做,那么除非您的web服务器被专门配置为禁止,否则internet上的任何人都可能获得您编译的Smarty模板。这将允许他们了解您的代码中您可能不想让他们知道的内容。谢谢!那么将compile_dir从/var/www/site1/presentation/compile_dir/移动到/var/compile_dir/就可以了吗?@Jon,你能解释一下如何找到“web服务器用户”的名字吗?或者如何“将所有权分配给web服务器用户”@klm123:假设为Linux,用于web服务器用户名:。更改所有权:
sudo chown new\u owner compile\u dir
。标准的东西。