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


PHP rename error on Centos although custom upload tmp dir is defined

我得到下面的错误。我不知道为什么现在,因为我改变了临时目录的位置。默认情况下,它使用/tmp -我不想弄乱这个文件夹,因为整个centos操作系统都依赖于这个文件夹-以防万一我没有碰它或改变它的权限或所有权。

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目录

I did a:

[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,所以我改变了projop:projop到/var/www/html/doc-generate/tmp/仍然抛出权限错误。有什么线索吗?

查看apache配置中的值:

php_admin_value open_basedir

可能你会在字符串中找到类似":/tmp/:"的东西。