我的php脚本无法写入文件despide 777权限。 我想写的文件是mash.xml
-rwxrwxrwx. 1 root root 459 May 16 2010 config.xml
-rwxrwxrwx. 1 root root 323 May 16 2010 handler.xml
-rwxrwxrwx. 1 root root 13908 Mar 15 12:18 mash.xml
-rwxrwxrwx. 1 root root 494 May 17 2010 media_audio.xml
-rwxrwxrwx. 1 root root 13967 Feb 15 07:40 media_effect.xml
-rwxrwxrwx. 1 root root 312 May 16 2010 source.xml
我检查了以下问题: - 与文件上传者相同的用户,var_dump(get_current_user());显示“root”
这是apache日志:
[error] [client 155.132.8.52] PHP Warning:
fopen(/var/www/html/moviemasher_3-1-04/example/save/media/xml/mash.xml):
failed to open stream:
Permission denied in /var/www/html/moviemasher_3-1-04/example/save/media/php/save.php
on line 14
感谢您的帮助
答案 0 :(得分:2)
如果启用了SELinux:
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/moviemasher_3-1-04/example/save/media/xml/mash.xml"
随意使用正则表达式作为文件名。
答案 1 :(得分:0)
你应该能够写这样的mash.xml,但我建议你也尝试chown来改变所有权,例如
chown www-data:www-data mash.xml
(www-data是大多数Linux系统上apache用户的用户组和用户ID)。