【问题标题】:Could not open Repository at "/etc/sw/keys"无法在“/etc/sw/keys”打开存储库
【发布时间】:2014-05-26 07:19:43
【问题描述】:

我有一个带有 Plesk 的 centos 服务器。我正在通过 /usr/local/psa/bin/subdomain --create subdomainname 输入条目来创建子域。

当我通过命令行运行完整的命令时,子域创建成功。现在我想通过 php 文件来完成,所以我使用的是 shell_exec。

但是当我尝试运行它时,我得到了以下错误:

无法在“/etc/sw/keys”打开存储库:无法打开文件 无法连接到数据库:get_admin_password() 失败:file_get_contents() 失败:

我知道有文件权限问题,但不知道去哪里找。请提出建议。

【问题讨论】:

    标签: php linux centos subdomain plesk


    【解决方案1】:

    很明显,您在从 php.ini 访问 /etc/sw/keys 时遇到了权限问题。这正是错误告诉你的。这并不奇怪,因为 php(很可能)是使用您的 http 服务器进程的权限执行的,该进程可能无权访问/etc 下的文件。

    将此尝试与您在命令行上进行的尝试进行比较:在这种情况下您使用了哪个用户帐户?什么权限?无论您使用哪种 shell 或脚本语言,您都需要相同的权限。您可能想尝试使用 sudo 实用程序甚至 phps suexec 扩展,但请记住,这可能会带来巨大的安全问题!管理内容以比网页脚本更低的权限执行是有充分理由的。

    【讨论】:

    • 感谢您的回复。我不想冒我的服务器安全的风险。我检查了权限并对这两个文件授予相同的用户权限。但仍然没有工作。有没有其他方法可以运行命令 /usr/local/psa/bin/subdomain --create subdomainname.
    • 您为/etc/sw/keys指定了什么权限?而/usr/local/psa/bin/subdomain的权限是什么?
    • 我的第一个错误已解决。现在我收到错误:无法连接到数据库:get_admin_password() failed: file_get_contents() failed:
    • /etc/sw/keys Permission: drwxrwsrwx. 7 root swkey-data/usr/local/psa/bin/subdomain Permission: lrwxrwxrwx. 1 root root
    • 那些意味着什么样的权限?世界可写?并为根组携带粘性位?第二个只是一个符号链接,它指向什么,那个物理文件的权限是什么?
    猜你喜欢
    • 2020-03-18
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多