尽管定义了自定义上传tmp dir,但Centos上的PHP重命名错误

时间:2015-08-05 17:49:30

标签: php permissions

我收到以下错误消息。我不知道为什么现在因为我更改了临时目录位置。默认它使用/ tmp - 我不想弄乱这个文件夹,因为整个centos os依赖于该文件夹 - 只是因为我没有触摸它或更改其权限或所有权。

rename(/var/www/html/doc-generate/tmp/WO3Yfe,Mission Announcement Sheet - BB&T76.docx): Permission denied in /var/www/html/doc-generate/wwwroot/phpword/src/PhpWord/Template.php on line 338 

所以我在这个文件夹/var/www/html/doc-generate/tmp/

中创建了一个tmp目录

我做了一个:

[root@project-open-v40 doc-generate]# ps aux | grep "apache" 
apache   14445  0.0  0.3  31336  6484 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14446  0.0  0.2  31336  5236 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14447  0.0  0.2  31336  5236 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14448  0.0  0.2  30996  3940 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14449  0.0  0.2  30996  3940 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14450  0.0  0.2  30996  3940 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14451  0.0  0.2  30996  3940 ?        S    12:05   0:00 /usr/sbin/httpd
apache   14452  0.0  0.2  30996  3940 ?        S    12:05   0:00 /usr/sbin/httpd
root     17542  0.0  0.0   4356   732 pts/1    S+   13:34   0:00 grep apache

原来apache是​​httpd所有者。但正在执行的脚本是:

exec php /var/www/html/doc-generate/wwwroot/phpword/samples/MissionAnnouncementSheet.php 

当您从命令行执行php时,apache是​​否为所有者?

我也在tmp上传手册上做了777。正在被创建的文件的所有者/ var / www / html / doc-generate / tmp / WO3Yfe是projop所以我改变了chown projop:projop到/ var / www / html / doc-generate / tmp /仍然抛出权限错误。任何线索?

1 个答案:

答案 0 :(得分:1)

查看您的apache配置值:

php_admin_value open_basedir

可能你会发现类似":/ tmp /:"在字符串中。 在那里添加新目录。