ubuntu下php调用执行shell脚本

在Linux(Ubuntu)系统下为竞赛搭建Web访问控制器时,需要通过PHP调用并执行Shell脚本。遇到的问题是调用无反应,通过检查php.ini配置文件,关闭安全模式,以及修改sudoers文件赋予PHP运行用户和本机用户相应权限,特别是将'php运行的用户名' ALL=(ALL) NOPASSWD:ALL和'本机用户名' ALL=(ALL) ALL,成功解决了无法调用的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于竞赛的原因,我和同学需要在Linux(Ubuntu)系统下搭建一个Web访问控制器,我负责前端php,同学负责后台shell脚本和控制器的编写。在这个过程中,需要利用php调用并执行shell脚本,查阅了相关资料,终于调通了,总结一下写在这里,方便以后阅读。

首先,推荐几篇博客,很感谢他们的回答解决了我的问题:
http://blog.youkuaiyun.com/wuhengwudi/article/details/7454094
http://blog.youkuaiyun.com/xundh/article/details/46233817
http://my.oschina.net/junn/blog/142986?fromerr=AiRfZrkp

我遇到的问题是,通过php调用shell脚本没有反应没有输出也没有报错,单纯地无法调用。查阅了资料后发现,应该是配置文档以及用户权限的问题,所以解决如下:

第一,应该查阅php.ini配置文档(我的配置文档位置是/etc/php5/php.ini),关闭安全模式 safe_mode=Off

第二,给予php运行的用户和本机用户权限。php运行的用户名可以通过在localhost运行以下的php文件查到:

<?php
    echo shell_exec(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值