2

当我尝试将 *shell_exec(cmd)* 或system(cmd)用于ping google.com之类的命令时,它可以正常工作。

代码 1:将在 PHP 中工作

<?php
echo shell_exec(ping google.com)
?>

但是当我尝试执行以下代码时,它会返回一个空白页。

代码 2:在 PHP 中不起作用

<?php
echo shell_exec(ec2-describe-addresses --region us-west-2)
?>

两个命令

1.ping google.com

2.ec2-describe-addresses --region us-west-2

在 Windows 命令提示符下正常工作。

有人可以指导我如何在 PHP 中运行第二个命令吗?

PS:ec2-describe-addresses --region us-west-2是 AWS EC2 命令,用于描述账户的弹性 IP 地址 http://aws.amazon.com/articles/Amazon-EC2/1346

4

1 回答 1

2

问题是 PHP 没有以 root 用户身份运行,将用户更改为 root 实际上解决了问题。对于那些想知道如何将 PHP 用户切换到 ROOT 的人。只需按照以下步骤操作。

第 1 步:打开 httpd.conf

第 2 步:搜索用户/组

第3步:在它下面你会发现

用户(您的默认用户名)

组(您的默认组名)

将其更改为 root,以便您的文件如下所示:-

用户根

组根

第 4 步:重新启动 Apache

PS:不建议将 PHP 切换为 root 用户用于生产服务器。请仅在您确定这一点时更改此设置。

于 2013-09-03T20:58:24.357 回答