我得到下面的错误。我不知道为什么现在,因为我改变了临时目录的位置。默认情况下,它使用/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/:"的东西。