apache的php创建txt失败,Apache权限,PHP文件创建,MKDir失败

请停止建议使用777.您正在使您的文件可写入所有人,这几乎意味着您失去了许可系统设计的所有安全性。如果您建议这样做,请考虑它可能对配置不良的网络服务器造成的后果:通过覆盖文件来“骇客”网站变得非常容易。所以,不要。

迈克尔:有一个完全可行的原因,为什么您的脚本无法创建目录,运行PHP(可能与Apache不同)的用户根本没有足够的权限来执行此操作。而不是更改权限,我认为您应该解决潜在的问题,这意味着您的文件拥有错误,或者Apache或PHP在错误的用户下运行。

现在,您似乎已经安装了自己的服务器。您可以通过运行一个简单的脚本来确定哪个用户正在运行PHP,该脚本调用大多数linux中安装的“whoami”程序:

echo `whoami`;

如果一切正常,您应该看到PHP运行的用户名。根据您的操作系统,这可能是“www-data”,“nobody”,“http”或任何变体。如果您的网站是唯一运行的网站,那么可以通过更改Apache下的用户进行更改。如果你有Debian,像我一样,你可以编辑文件/ etc / apache2 / envvars(作为root用户),并更改APACHE_RUN_USER的值。根据您的操作系统,此变量可能设置在不同的配置文件中,因此,如果在/ etc / apache2 / envvars中找不到该变量,请尝试使用以下命令搜索变量声明:

$ grep -R "APACHE_RUN_USER=" .

从所有apache配置文件所在的目录。

如果您不是服务器上唯一的用户,您可能需要考虑为每个网站创建用户帐户,并使用类似Apache2-MPM-ITK的方式根据调用的网站更改RUN_USER。此外,请确保PHP进程正在运行的用户是文件的所有者和目录。你可以通过使用chown来实现:

% chown theuser:theuser -R /var/www/website/

如果PHP使用自己的用户运行,并且是需要写入的文件和目录的所有者,那么权限700就足够了。我倾向于为大多数文件自己使用750,因为我通常在该组中有多个用户,他们可以具有阅读权限。所以,您可以更改权限:

% chmod 0750 -R /var/www/website/

应该是如果您有任何问题,请告诉我们,请不要接触任何本质上告诉您的建议:如果安全性打扰您,请删除安全性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值