PHP没有在与Apache相同的用户下运行

时间:2013-10-11 13:22:01

标签: php wordpress apache debian

我在本地计算机上安装了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)。我得到的结果是1000xedinunknown)和33www-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)

1 个答案:

答案 0 :(得分:0)

在OSX上,我使用了以下内容,它起作用了:

sudo chown -R _www:_www {path to wordpress folder}

_www是PHP在Mac上运行的用户。 (您可以将此更改为您在特定操作系统下运行的PHP安装)

(你可能还需要chmod一些文件夹。我先做了那个并没有解决它。直到我做chown命令它才有效,所以我不确定如果它只是chown命令,或chmod和chown的组合。)