2013-05-13 49 views
0

我想在我的服务器上添加新的DNS。我可以使用vi编辑器编辑文件/etc/resolv.conf。使用PHP编辑/etc/resolv.conf

但是,当我尝试使用PHP ..文件没有打开。

可能是什么问题?

请建议/提供一个解决方案来解决这个问题。

+0

apache webservices用户有权限吗?我对此表示怀疑! – Waygood 2013-05-13 10:14:30

+0

你可以使用nano,vim,gedit – 2013-05-13 10:15:01

+1

这可能是因为权限,在运行你的代码之前检查/etc/resolv.conf的权限。 – 2013-05-13 10:18:34

回答

2

很可能你的PHP运行在不同的用户上,然后你自己登录到服务器。您将拥有对该文件的读/写访问权限,而PHP不会。

现在增加PHP用户的权利可能会导致安全问题,所以我建议不要这样做。但是,如果真的需要,您可以授予用户访问该特定文件的权限。检查Granting Access Permission to a file to a specific user如何做到这一点。

+0

谢谢..我用chown来授予权限,它为我工作。 :) – KiranD 2013-05-13 10:38:30

0

您可能需要root访问权限才能修改/ etc/hosts。

  • 您可以chmod 666/etc/hosts,但这会是一个安全问题。
  • 但是在根目录下运行PHP,
  • 以及在/ etc/hosts下也是如此。

所以,你有3(不安全)的解决方案。最后一个是最不起眼的。

如果PHP仅限于特定目录内的文件,您可能还会面临与PHP访问文件的争执。 (http://www.php.net/manual/en/ini.core.php#ini.open-basedir