我有一个在 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
系统上是否有任何可能导致此问题的特定更改?新的 systemdPrivateTmp
东西怎么样?
我试图添加PrivateTmp=false
到文件中:
/etc/systemd/system/multi-user.target.wants/lighttpd.service
/etc/systemd/system/multi-user.target.wants/php5-fpm.service
但是,它在那里似乎没有任何区别。
无论如何,为什么\tmp
现在总是空的有什么具体原因?另外,tmp的新位置在哪里?
谢谢你。
需要检查的一些事项:
php-fpm
1)您运行的系统用户2) 应用装甲:
如果启用:
3) 权限
/tmp
:4)
open_basedir
在PHP设置中:此外,当您修改 systemd 单元文件时,请尝试先重新加载它:
systemctl daemon-reload
然后重新启动php-fpm
.