在一个文件夹中提取完gwan(4.1.17)后,在这个文件夹中执行gwan。它工作正常。
当我从这个提取的文件夹中替换项目文件夹中所有旧的gwan文件和文件夹时,gwan找不到c servlet,但仍然可以在www文件夹中找到文件。
谁能解释这个?
检查权限问题的一个快速方法是将gwan作为根用户启动,如果还没有这样做的话。如果它以root身份工作,而不是以其他方式工作,则可能是权限问题。
我只在我的一个虚拟主机上有这个问题,而其他的都工作得很好。我已经联系了Pierre关于这个问题,他应该能够很快解决这个问题,但是到目前为止只有一天,所以他必须提供一个更详细的答案。
当我使用普通的g-wan 4.1.17安装时没有发生这种情况,所有这些脚本都工作得很好。我很想知道您是否一直在使用默认侦听器/IP主机配置或正在使用的虚拟主机。
在一个文件夹中解压缩gwan(4.1.17)后,在这个文件夹中执行gwan。
证明这不是一个G-WAN错误:当你"execute gwan in its folder"时一切正常。
当我用这个解压缩的文件夹替换项目文件夹中所有旧的gwan文件和文件夹时,gwan找不到
c servlets
,但仍然可以找到www
文件夹中的文件。
这个问题很可能与访问权限有关:C servlets
不能被读取(由用于运行gwan的帐户)或者编译的对象不能从/tmp
或$TMPDIR
目录中使用,参见http://gwan.ch/faq#error8246。
文件权限是出了名的棘手问题:
"在用户空间中获得EPERM/EACCES确实有点糟糕。作为一个用户,你不知道你为什么得到它。可能是SELinux,可能是文件上的rwx位,可能是缺失的功能,可能是ACL,谁知道是什么。[…]向系统中添加SELinux、ACL和功能使它们更容易理解,不是吗?(我对"安全"的定义包括了解系统正在做什么。我知道这很疯狂。)[…]eperm是关于文件权限的。对于SELinux和残疾位,以及本周他们所谓的OS/2扩展属性,你需要-EBUREAUCRACY。"