具体环境:centos stream 9 nginx
安装完wordpress后其他功能正常,但上传文件提示“无法将上传的文件移动至 wp-content/uploads/”等字样。
确保整个wp-content
目录可写:
# 检查当前权限
ls -ld /path/to/wordpress/wp-content/
# 如果权限不足,设置为755
chmod 755 /path/to/wordpress/wp-content/
# Nginx
chown -R nginx:nginx /path/to/wordpress/wp-content/
如果 SELinux 处于Enforcing
模式,需要调整文件上下文:
# 查看当前上下文
ls -Z /path/to/wordpress/wp-content/
# 设置正确的SELinux上下文
chcon -t httpd_sys_rw_content_t /path/to/wordpress/wp-content/
# 永久生效(推荐)
semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/wordpress/wp-content(/.*)?"
restorecon -R /path/to/wordpress/wp-content/
确认 PHP 进程以正确用户运行:
<?php
echo '当前PHP用户: '. exec('whoami');
?>
将上述代码保存为test.php
,上传到网站相应目录,通过浏览器访问,确保输出与 Web 服务器用户一致(如apache
或nginx
)。如不一致,需要修改,建议修改php的用户,方法如下:
# 查找pool配置目录(通常为/etc/php-fpm.d/)
find /etc -name "www.conf"
sudo vi /etc/php-fpm.d/www.conf
在打开的文件中查找apache替换为nginx,再保存退出
重启服务
sudo systemctl restart nginx php-fpm
发表回复