2016-02-13 83 views
0

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

Linux version 2.6.32-604.30.3.lve1.3.63.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)) #1 SMP Sun Sep 27 06:34:10 EDT 2015 

所以我认为这是Redhat发行基于上面的输出。所以,我尝试使用安装Poppler-Utils套餐:

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

正如this文章中提到。

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

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

# yum install poppler-utils

OR使用Debian在以下/ Ubuntu Linux

$ sudo apt-get install poppler-utils

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

任何帮助表示赞赏!

+0

与您的托管公司联系,您可能没有权限。 – chris85

+0

如果你被拒绝命令行访问,也许他们也拒绝你'exec'访问.. – GolezTrol

+0

但我试过exec('whoami');它的工作! –

回答

1

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

您无法在您无权访问的命令上运行exec例如yumapt-get;)。

+0

即使'安全模式'被禁用? –

+0

除非用户您的托管帐户具有管理员权限/在sudo文件中/允许其他方式,那么您无法访问这些命令。 – Matt

+0

这完全是关于权限的问题,如果'exec'工作并不重要。 – Matt

1

The're no way without root or sudo access。但是,您可以将二进制文件下载到您的主目录(例如〜/ local-bin /),并从这里运行(不要忘记将~/local-bin添加到PATH环境中,export PATH=$PATH":~/local-bin")。但最好的方法 - 创建支持票,也许他们可以为你安装一些软件包。或者只是在小vps/vds上使用Docker - 它简单而便宜。

+0

是的,我会联系主机支持,谢谢! –