我有Plesk的centos服务器 . 我通过在/ usr / local / psa / bin / subdomain --create subdomainname中输入一个条目来创建子域 .
当我通过命令行运行完整命令时,比子域成功创建 . 现在我想通过php文件完成它,所以我使用shell_exec .
但是当我尝试运行它时,我得到以下错误:
无法在“/ etc / sw / keys”处打开存储库:无法打开文件无法连接到数据库:get_admin_password()失败:file_get_contents()失败:
我知道有文件许可问题,但不知道在哪里看 . 请建议 .
1 回答
显然你有一个权限问题从php访问
/etc/sw/keys
. 这正是错误告诉你的 . 并且这并不奇怪,因为php(很可能)使用您的http服务器进程的权限执行,该进程可能无权访问/etc
下的文件 .将此尝试与您在命令行上创建的尝试进行比较:在这种情况下您使用了哪个用户帐户?什么权限?无论您使用哪种shell或脚本语言,都需要相同的权限 . 您可能想尝试使用
sudo
实用程序甚至phpssuexec
扩展名,但请记住,这可能会导致巨大的安全问题!有很好的理由可以执行管理资源,其权限低于网页脚本 .