我想通过php exec()
或shell_exec()
运行脚本(phantomJS)。在我的开发系统上一切正常。
我已经在我的生产服务器上安装了phantomJS,并在通过SSH登录后从终端成功运行了。
但是当我通过exec()
或shell_exec()
从PHP运行它时,我收到消息说:
GLIBCXX_3.xx
未找到
GLIBC_2.xx
未找到
网络托管服务提供商的支持团队表示,他们不知道如何让服务器访问脚本并仍然保持安全:
我们不熟悉它的细节,所以我们要么必须这样做 通过禁用chroot,但正如我们的主管提到的那样 这将允许服务器上的所有帐户相互帐户 这是chroot阻止的。
您可以让自己的系统管理员像您一样查看设置 有root权限,看看他们是否可以设计一个解决方法,但是 我们的结局是我们唯一可以建议的。
他们正在运行CentOS,这是一个64位的Linux操作系统。
到目前为止,我对这个网络主机有非常好的经验,所以我希望有一种方法可以在不改变主机的情况下解决这个问题。
我拥有该帐户的完全root权限,因此我可以通过任何必要的方式对其进行配置。
有人可以就如何配置我的生产服务器以访问phantomJS同时维护安全的服务器提出一些建议吗?
更新
显然我的应用程序处于" chrooted环境中#34;没有对服务器上的GLIB的完全root访问权限。网络主机说,如果我的php用户获得完全的root访问权限,将会缺乏安全性。
答案 0 :(得分:1)
您必须删除PhantomJS系统调用并创建API层或订阅MQ队列的服务,然后将其与PHP集成以避免一些问题,包括chroot限制。