【问题标题】:Run Linux Commands Using PHP使用 PHP 运行 Linux 命令
【发布时间】:2016-02-13 23:43:15
【问题描述】:

我看到很多关于使用PHP 运行Linux 命令的问题,但我的问题不同。我正在使用共享主机Linux 服务器,并且我想使用PHP 代码安装一个名为Poppler-utils 的包,因为我无法访问Linux 命令行。首先,我尝试使用cat /proc/version 找出Distro,这是输出:

Linux version 2.6.32-604.30.3.lve1.3.63.el6.x86_64 (mockbuild@build.cloudlinux.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Sun Sep 27 06:34:10 EDT 2015

所以我根据上面的输出假设它是Redhat Distro。所以我尝试使用以下方法安装Poppler-Utils 包:

exec('yum install poppler-utils',$buffer); 
echo implode($buffer);

this 文章中所述。

在RedHat/RHEL/Fedora/CentOS Linux下安装pdftotext

各种Linux下使用poppler-utils包安装pdftotext 分布:

# yum install poppler-utils

或者在 Debian / Ubuntu Linux 下使用以下命令

$ sudo apt-get install poppler-utils

但是什么都没有发生。那么如何在/usr/local/bin/ 中安装Poppler-utils 呢?

感谢任何帮助!

【问题讨论】:

  • 联系您的托管公司,您可能没有权限。
  • 如果你被拒绝命令行访问,也许他们也拒绝了你exec访问..
  • 但我试过 exec('whoami');它奏效了!
  • 是的,但询问有关您自己的信息与请求超级用户权限来安装软件包不同。
  • yum install 需要 admin/root/sudo 访问权限。就像在 Windows 上创建受限用户一样,您可以做一些事情但不能安装应用程序。

标签: php linux exec redhat


【解决方案1】:

您将没有共享主机上的 sudo / root 权限来安装文件。唯一的选择是联系您的托管公司并要求他们将其安装在服务器上。

您不能在您无权访问该功能的命令上运行exec,例如yumapt-get ;)。

【讨论】:

  • 即使Safe modedisabled?
  • 除非您在主机上的帐户具有管理员权限/在 sudo 文件中/允许以其他方式访问这些命令。
  • 一切都与权限有关,exec 是否有效并不重要。
【解决方案2】:

没有 root 或 sudo 访问权限是不可能的。但是你可以将二进制文件下载到你的主目录(例如~/local-bin/)并从这里运行东西(不要忘记将~/local-bin添加到PATH环境,export PATH=$PATH":~/local-bin")。但最好的方法 - 创建支持票,也许他们可以为您安装一些软件包。或者只是在小型 vps/vds 上使用 Docker - 它既简单又便宜。

【讨论】:

  • 是的,我会联系托管支持,谢谢!
猜你喜欢
  • 2012-02-01
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 2020-07-12
  • 2013-12-28
  • 1970-01-01
  • 2010-10-04
相关资源
最近更新 更多