php调用shell脚本(web端和客户端同时实现)
来源:互联网 发布:python socket 多连接 编辑:程序博客网 时间:2024/06/18 04:58
想这个问题有一段时间了,一开始想实现的功能是在web端点击一个按钮,然后liunx主机采集图像,在浏览器上显示。于是自然而然的想到了php调用shell脚本。查了很多资料。实现了。
下面开始讲解。本例子将实现点击链接,调用shell脚本(ps,我写的脚本是一个上传文件到ftp服务器的命令)
一:配置
查看php.ini中配置是否打开安全模式,主要是以下三个地方
safe_mode = (这个如果为off下面两个就不用管了)
disable_functions =
safe_mode_exec_dir=
ps1:博主按照上面的步骤配置,后来执行时还有问题。
我们再次查看php.ini文件,找到disable_functions =scandir,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
这些都是被禁用的函数,我们接下来会用到passthru函数,所以把passthru删掉,然后保存,重启服务
ps2: 后来又出问题了,因为一开始在centos上web端执行shell是没有问题的,可是到了ubuntu却执行不了,但是fswebcam软件在ubuntu上才有,于是最后通过一个灵活的途径执行了一条采集图像命令,而没有通过shell。后面代码会写到。
二:代码
到了愉快的代码环节,
首先我们把shell脚本写了,我简单写了个脚本。各位自己随便写一个吧,如果想知道我写的脚本,请参考shell实现ftp命令,或者去访问这个香蕉派摄像头监控
然后及时php代码了。
这是centos上的
<?phppassthru('/usr/local/bin/ftp.sh',$returnvalue);if ($returnvalue != 0){//we have a problem!echo "wrong";//add error code here}else{//we are okayecho "ok";//redirect to some other page}?>然后在浏览器或者linux主机上运行php即可,(实现点击调用php,自己写一个html即可)
这是ubuntu上的
$a='sudo fswebcam -d/dev/video0 -r 320x240 /home/wwwroot/default/lot/1.jpg';system($a); //是这么执行的</font>
三:运行实例
我就直接给图片了,第一张是代码,第二张那个乱码文件名就是我成功上传的文件。
- php调用shell脚本(web端和客户端同时实现)
- PHP调用shell脚本注意事项
- shell脚本调用php代码
- php脚本 模拟实现 shell 脚本(任务计划)
- shell脚本和命令调用
- shell调用php脚本,并传递参数
- shell调用php脚本,并传递参数
- ubuntu下php调用执行shell脚本
- php生成shell脚本并且调用
- 使用php调用shell脚本同步文件
- shell调用php脚本,并传递参数
- 写shell脚本调用php文件
- shell和php互相调用
- 用popen实现在PHP代码异步调用服务器端的shell脚本
- 用popen实现在PHP代码异步调用服务器端的shell脚本
- Shell 脚本 调用Mysql 客户端定时导出数据
- Shell整理--检查WEB是否正常脚本(附PHP脚本)
- Java调用Shell命令和脚本
- CF 509B Painting Pebbles
- sipXecs安装完成后,登录地址
- 组合框自动记录
- 慎用mysql max()函数,可通过走索引替换
- JNI中在被调用的C/C++函数中如何访问Java程序中的类,并编写应用实例
- php调用shell脚本(web端和客户端同时实现)
- thrift 安装 C++server 及PHP Client 测试Demo
- iOS Runtime详解(消息机制,类元对象,缓存机制,消息转发)
- Attribute在.net编程中的应用(一)
- MySQL中的MAX函数总结
- PendingIntent的内部机制
- 关于索引的那些事
- LightOJ 1247 Matrix Game
- docker学习笔记------简单操作docker容器