Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress无法写入文件_Wordpress_Apache_Permissions_File Permissions_Chmod - Fatal编程技术网

Wordpress无法写入文件

Wordpress无法写入文件,wordpress,apache,permissions,file-permissions,chmod,Wordpress,Apache,Permissions,File Permissions,Chmod,我已将wordpress安装从托管VPS移动到新的centos服务器。 现在我在直接从wordpress管理面板写入文件时遇到了问题 文件夹/文件设置为755/644。用户所有者是wwwuser,组是apache,我使用此组通过ftp访问documentroot 我认为问题在于,在/etc/httpd/conf/http.conf中,我已经将用户和组都设置为apache,事实上,如果我将权限更改为775/664,一切都可以工作,这意味着当组所有者设置为apache时,一切都可以工作,对吗 所以我

我已将wordpress安装从托管VPS移动到新的centos服务器。 现在我在直接从wordpress管理面板写入文件时遇到了问题

文件夹/文件设置为755/644。用户所有者是wwwuser,组是apache,我使用此组通过ftp访问documentroot

我认为问题在于,在/etc/httpd/conf/http.conf中,我已经将用户和组都设置为apache,事实上,如果我将权限更改为775/664,一切都可以工作,这意味着当组所有者设置为apache时,一切都可以工作,对吗

所以我的问题是,我应该将所有权限更改为775还是有另一种解决方案不会导致安全问题?制作所有文件夹和文件775和664是否安全?如果我将apache从/etc/httpd/conf/http.conf更改为wwuser会怎么样


编辑:问题是否可能是在phpinfo中,环境pwd设置为/home/wwwuser/test而不是/home/wwuser/?

我建议不要更改Apache正在运行的用户,使其不编辑Apache配置文件,而是将Apache设置为文件的所有者。 chown-R apache/path/to/your/app/files

我认为这是最简单的解决办法。如果您选择更改权限,则不必更改其他人的权限:您可以更改为774,但我不明白为什么是775


默认情况下,Apache在CentOS上的Apache用户下运行

这是您目前面临的一个非常常见的问题。有时,使用FTP创建/上载的文件/目录可能已分配给不同的用户/用户组。正如@Céline Aussourd所说,如果您从WordPress安装了插件,那么所有文件和目录都将获得默认的用户/用户组

现在最简单的方法是使用名为test.php的CPanel文件管理器创建一个测试文件,并从web访问它(如果它正在工作),然后检查它的用户/用户组,并将所有设置文件一起更改为该用户/用户组

chown -R {user} /path/to/your/worpress/root
将{user}替换为apache web用户

更新:安装没有FTP详细信息的插件

请在定义“wp_DEBUG”后,在wp-config.php中添加以下行,false;线路


删除插件并重新安装,这次它不会询问您FTP详细信息,而是直接写入文件。

谢谢您的回复。问题是我将来可能会使用FTP,例如上载插件,这可能会导致问题,因为FTP与wwwuser关联。如果我从wordpress用户界面自动下载e插件,会发生什么?在我以前的VPS中,我怎么可能没有任何问题,而用户所有者不是apache?@daimpa如果您上传的插件文件不需要php编辑,那么它应该可以工作。如果他们这样做了,那么您可能必须更改所有者。如果你从Wordpress下载一个插件,它会像apache在服务器上创建文件一样工作。有很多原因可以解释为什么它在您以前的VPS中工作:web服务器配置、文件权限……Aussourd:再次感谢您的回复和耐心。在旧服务器文件中,权限相同,为755/644。你认为为业主创造同样的环境会非常困难吗?我的意思是,我已经经历了许多共享主机,我从来没有这个问题。现在我在一个专用的服务器上,我想用正确的方式做一些事情。@daimpa在共享主机上,他们可能会将Apache设置为在对应于不同客户的不同用户下运行。这就解释了为什么它会起作用。我部署了许多php网站,包括一些Wordpress网站,我总是要确保Apache有权限,而且我从来没有遇到过安全问题。Wordpress安全建议:关于VPS,请确保SSH访问受到限制。我建议停用root登录,只接受SSH密钥验证。您还可以查看fail2ban以保护您的服务器。@daimpa apache是否具有文件权限?如果您没有授予Apache对Wordpress需要编辑的文件/文件夹的权限,Wordpress将在尝试从Wordpress UI安装新插件时询问您FTP用户/密码的所有者凭据,因此它创建了所有具有用户wwuser和组Apache的文件/文件夹,权限为755,这是错误的,它应该是用户apache或权限775…您可以删除插件以重新安装吗?如果是,请遵循我上面更新的答案。它通过将apache设置为用户/组所有者起作用,就像celine所说的那样。我以前做过,但我不知道为什么它没有保存。太好了!在将来,如果你想安装没有FTP的插件,请保留我的最新更新;
define('FS_METHOD', direct);