1. fopen打开文件的问题
Fopen以写方式打开文件时,如果只是文件名(默认当前目录),则可以打开成功;如果指定一个相对路径,如/usr/local/apache/cgi-bin/upload/filename,则打开失败。出现这个问题的原因是因为权限不够(cgi程序运行时,是apache的用户,权限有限),虽然给cgi-bin更改了权限(chmod o+w /usr/local/apache/cgi-bin),但是它的上面几级目录没有写权限,以绝对路径打开文件时,对每一级路径都需要有写权限。于是
#chmod o+w -R /usr/local/apache/cgi-bin/upload
然后就可以打开成功了。
疑问:目录的x控制能否进去和通过目录,x和r的组合控制能否列出目录,x和w的组合控制能否在目录中删除、新建、修改文件。
解答:fopen以读方式打开时,只要该用户具有upload目录的读权限,在upload上几级目录有x权限即可打开成功;通过chmod o+w -R这条命令修改权限,查看