我一直在FatFree框架中开发一个应用程序,现在我正试图将其部署在服务器上。当我在本地主机上运行它时,一切似乎都很好。
然而,当我在服务器上部署它并试图访问它时,它会给我一个奇怪的错误,即
Internal Server Error
chmod(): Operation not permitted
#0 /var/www/webapp/inc/main.php:62 Template::serve('front_page.php')
#1 /var/www/index.php:65 F3::run()
我已经为webapp
文件夹授予777权限,因此应该允许chmod()
。以上情况表明,在为模板文件front_page.php
提供服务时存在错误。
我该怎么解决这个问题?
为此,您必须使用-R递归地为您的"webapp"文件夹授予权限
Siddharth在评论中暗示了正确的答案:
F3在提供服务之前将模板编译到temp/dir。此临时目录需要a)存在,b)具有适当的权限。
要实现这一点,请转到模板文件所在的目录并运行:
mkdir temp/
chown www-data temp
检查中间目录权限这是一个常见的问题。
您可以将web服务器的写入权限添加到[fatfree web根目录]中。不安全!
chmod o+w fatfree-web-root-dir # Then web-server can create "temp" folder.
另一种方式:您必须与web服务器所有者创建"临时"目录:
mkdir fatfree-web-root-dir/temp
chown www-data:www-data fatfree-web-root-dir/temp
# www-data - in Debian for example