PHP 使用curl 执行远程服务器的一个shell脚本
就是用PHP执行远程服务器上一个shell脚本,这个shell脚本是一个分析数据的脚本,我这个PHP页面就是提供一些查询条件,然后需要把shell执行的分析结果获取到,希望懂的人可以指教一二!就20分了 都在这了 展开
可以啊,curl可以,http也可以啊
首先
假如 远程服务器有这些文件php脚本和shell脚本(分析数据的脚本)是在目标服务器上
a.php
data.php
data.sh
然后在a脚本里面运行shell命令,exec("cd ~/php/ && php ./data.php &");
这样php就会运行data.php 可以在data.php里面在运行sh脚本
或者直接在a.php里面运行sh脚本
然后把计算好的数据存入数据库
这样你就可以用http或者curl去激活a.php.然后分析数据的脚本也就运行了
大概了解没?
大哥 你看明白没啊 是要给远程发送shell命令 不是本地执行好吧?
远程动态输入命令?貌似不太安全啊~!
可以这样。a.php?cmd=cd ~/ && sh data.sh
然后a.php里面这样写
exec("{$_GET["cmd"]}");
太危险,相当不推荐
可以做好命令,然后去执行
a.php?cmd=a
然后a.php里面这样写
switch ($_GET["cmd"]}){
case "a":
exec("cd ~/php/ && php ./data.php &");
break;
case "b":
exec("cd ~/php/ && php ./xxxx.php &");
break;
}
剩下的就是在B上用PHP触发shell,直接用 exec() 或者 system() 或者 popen等等,非常多的办法来启动shell。
首先
假如 远程服务器有这些文件php脚本和shell脚本(分析数据的脚本)是在目标服务器上
a.php
data.php
data.sh
然后在a脚本里面运行shell命令,exec("cd ~/php/ && php ./data.php &");
这样php就会运行data.php 可以在data.php里面在运行sh脚本
或者直接在a.php里面运行sh脚本
然后把计算好的数据存入数据库
这样你就可以用http或者curl去激活a.php.然后分析数据的脚本也就运行了
大概了解没?
大哥 你看明白没啊 是要给远程发送shell命令 不是本地执行好吧?
远程动态输入命令?貌似不太安全啊~!
可以这样。a.php?cmd=cd ~/ && sh data.sh
然后a.php里面这样写
exec("{$_GET["cmd"]}");
太危险,相当不推荐
可以做好命令,然后去执行
a.php?cmd=a
然后a.php里面这样写
switch ($_GET["cmd"]}){
case "a":
exec("cd ~/php/ && php ./data.php &");
break;
case "b":
exec("cd ~/php/ && php ./xxxx.php &");
break;
}
2012-10-29
你现在是碰到问题了?还是需要别人给你写段代码?
这个问题没有太多难点吧,safe_mode_exec_dir模式打开,用system()函数执行脚本,你的脚本返回正常结果,不就ok了。
大哥 你看明白没啊 是要给远程发送shell命令 不是本地执行好吧