解决Wordpress上传图片遇Missing a temporary folder.问题

By | July 9, 2017

Create On: 2017/07/09

今天在使用Wordpress上传图片时遇到"Missing a temporary folder"错误,看服务器的错误日志,有以下一行:

2017/07/09 21:25:31 [error] 1821#0: *311 FastCGI sent in stderr: "PHP message: PHP Fatal error: Maximum execution time of 30 seconds exceeded in /htdocs/wp-includes/compat.php on line 98" while reading response header from upstream, client: 12.3.4.5, server: domain.com, request: "GET /page/5 HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "domain.com", referrer: "https://domain.com/"2017/07/09 21:30:41 [error] 1821#0: *339 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/htdocs) in Unknown on line 0

原来我的PHP配置打开open_basedir了,需要将临时目录添加进去。

如果在php.ini设置有open_basedir项,那么要将/tmp加入允许的列表中,类似于(仅类linux系统可用):

open_basedir = /www/htdocs:/tmp

如果有SElinux的话,需要添加SElinux的httpd读写策略到/tmp:

chcon -t httpd_sys_rw_content_t /tmp

重启 PHP-FPM

完成。

参考资料:
Multiple paths in open_basedir

鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,也欢迎指正,一起学习,共同进步。如果本文对您有帮助,而且让您觉得值得为内容付费,那么就请赞助(打赏)一下本人,这不强制。打赏支持微信支付,方法是使劲地戳一下下方的“打赏”按钮,然后得到微信收款的二维码,再用微信支付扫一下,就像买菜那样。祝好!