Debian 8 + PHP:/ tmp / Permission denied

我有一个在Debian 7 + PHP 5.6上运行良好的网站,最近决定将我的Debian安装升级到Debian 8.一切都很顺利,除了一件小事。

在运行相同的代码时,似乎PHP无法向/tmp/写任何东西,现在我得到如下消息:

 errno: 2, errstr: "ZipArchive::extractTo(): Permission denied", errcontext: { Filepath: "/tmp/phpVTUxDh", Options: null, Zip: { status: 0, statusSys: 0, numFiles: 12, filename: "/tmp/phpVTUxDh", comment: "" }, Status: true 

很明显,方法extractTo()是很难写入\tmp是否有任何具体的更改可能导致此? 那么新系统的PrivateTmp呢?

我试图添加PrivateTmp=false到文件:

 /etc/systemd/system/multi-user.target.wants/lighttpd.service /etc/systemd/system/multi-user.target.wants/php5-fpm.service 

但是,这似乎没有任何区别。

无论如何, \tmp现在总是空的任何具体原因? 另外,tmp的新位置在哪里?

谢谢。

有些事情要检查:

1)你运行php-fpm系统用户

2)AppArmor:

 cat /sys/module/apparmor/parameters/enabled 

如果启用:

 grep 'DENIED' /var/log/syslog or /var/log/auditd/auditd.log 

3) /tmp上的权限:

 stat /tmp 

4)在PHP设置中的open_basedir

 su -m <php_user> -c "php -i | grep -i open_basedir" 

另外,当你修改systemd单元文件时,先尝试重新加载它: systemctl daemon-reload ,然后重新启动php-fpm