我在本地计算机上安装了Wordpress。但是,要安装插件,它总是要求我提供FTP凭据。有a post about why this is happening。所以,这就是我的所作所为:
我转到了文件wp-admin/includes/file.php
,并对unlink
行进行了评论,因此不会删除临时文件。然后我去检查该文件的权限,-rw-r--r-- www-data www-data
。这很好,因为我希望Apache服务器以www-data:www-data
运行。
但是,我var_dump
'编辑getmyuid()
和@fileowner($temp_file_name)
。我得到的结果是1000
(xedinunknown
)和33
(www-data
)。这意味着当Apache以www-data
运行时,PHP正在以xedinunknown
运行(如果我错了请纠正我)。问题是:为什么?
我安装了suEXEC但已禁用,看起来我正在运行PHP作为Apache模块(etc/apache2/mods-available/php5.load
有此条目:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
)。
回顾一下,我在Debian 7.1 64位上运行PHP 5.5.4 / Apache 2.4.6。
现在,我更改了envvars
以使Apache以xedinunknown运行:www-data,chown
'锁定目录,然后重新启动。这允许我安装插件,但我想这只是一个临时措施
更新
好的,公平的。这是apache2ctl -t -D DUMP_MODULES
的输出:
core_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
dav_module (shared)
dav_fs_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
fcgid_module (shared)
include_module (shared)
mime_module (shared)
negotiation_module (shared)
php5_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
答案 0 :(得分:0)
在OSX上,我使用了以下内容,它起作用了:
sudo chown -R _www:_www {path to wordpress folder}
_www是PHP在Mac上运行的用户。 (您可以将此更改为您在特定操作系统下运行的PHP安装)
(你可能还需要chmod一些文件夹。我先做了那个并没有解决它。直到我做chown命令它才有效,所以我不确定如果它只是chown命令,或chmod和chown的组合。)