‘壹’ windows下如何使用php调用shell脚本文件
php中的 exec() system() 都可以,具体用法看手册
‘贰’ PHP 使用curl 执行远程服务器的一个shell脚本
可以啊,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~/&&shdata.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;
}
‘叁’ php网页执行本地.sh文件
sh是linux,unix命令。
用途:调用缺省 shell。
语法:请参阅 ksh 命令的语法。将 /usr/bin/sh 文件链接到 Korn shell。
描述:sh 命令调用缺省 shell 并使用它的语法和标志。链接到 /usr/bin/sh 路径的 shell 是缺省的 shell。
linux下输入visudo
然后我们在最后追加
apache ALL=NOPASSWD:/bin/sh
然后
php执行exec("/usr/bin/sudo /bin/sh /xxx/xxx.sh")
/xxx/xxx.sh 是你要执行的脚本
‘肆’ PHP调用shell命令,怎么实现,我为什么shell_exec的返回值总是null呢
是权限问题,php默认的用户没有权限执行shell
‘伍’ 请教知道的老师,php执行这个shell_exec安全吗
安全不安全取决于 ffmpeg,如果它带毒或木马,那就不安全,毕竟你调用它把控制权交给了它。
‘陆’ PHP去执行shell命令,exec('tail -f xxx.log > 1.log'), 但是执行完了,没有生成对应的1.log
不是不行,是php执行这个命令的权限不够。你直接在linux执行是以登陆账号的身份去执行,php是以apache的身份去执行,可以打开/var/log/httpd/error.log错误日志看看www.hi-docs.com/linux.html
‘柒’ 我想用php执行shell语句:sudo curl --request POST --data-
PHP中有这种函数可以执行shell的函数,如system(), exec(), shell_exec()等等,给你个链接,你可以自己去看 http://php.net/manual/zh/function.system.php
至于curl , http://php.net/manual/zh/book.curl.php
‘捌’ 想让PHP执行shell脚本,如何安装apache和PHP
一、安装PHP
-------------------------------------------------------
第1步:下载
下载PHP安装程序,并解压缩。(下载页面为http://www.php.net/ downloads.php,下载地址为http://www.php.net/get/php-5.2.1-Win32.zip/from/a/mirror)当前最新版本是php-5.2.1。
第2步:安装
把下载下来的PHP安装包解压到你的C盘根目录(这里选择C根目录盘是为了以后修改调试方便用,你也可以选择不同的目录),解压后应该能得到一个类似于"php-5.1.2-Win32"的目录,把目录名称改成"PHP"。
第3步:添加php.ini到系统目录
打开刚才解压后生成的PHP目录,找到PHP配置文件“php.ini-dist”,把它改名为“php.ini”,然后复制到系统目录中。如果操作系统安装在C盘,那么系统目录在 Windows XP下就是"C:\windows",在Windows 2000下是"C:\winnt")。
第4步:设置环境变量
设置以下环境变量:PHP_HOME=C:\PHP;C:\PHP\ext,保存退出后。
第5步:修改PHP配置文件
修改php.ini中的register_globals=on,这样在取得请求表单时可以直接使用表单名称$name,而不用使用$_REQUEST["name"]。
二、配置Apache支持PHP
-------------------------------------------------------
第1步:打开Apache 2 的配置文件
打开Apache 2的配置文件“http.conf”,可以通过“开始->程序->Apache->configure Apache server->edit the Apache httpd.conf configuration file”打开该配置文件。默认情况下,该文件存放在C:\Program Files\Apache Group\Apache2\conf\httpd.conf,我们也可以通过“我的电脑”直接打开该文件进行编辑。
第2步:配置Apache加载PHP模块
在“http.conf”文件中找到LoadMole字样的信息,然后在LoadMole段信息的最下方添加一行信息:
LoadMole php5_mole C:/PHP/php5apache2_2.dll
这里要解释一下,“php5_mole”是模块的名称,后面跟的路径则随PHP安装目录而变,这三个字串之间是用空格分隔的。
第3步:使Apache解析PHP文件
接下来再查找addtype字样的信息,在addtype信息段的最下方添加如下几行信息:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
这时就可以在Apache下的htdocs目录中创建一个php测试文件:
<?
phpinfo();
?>
三、配置PHP支持MySQL
-------------------------------------------------------
第1步:设置 php.ini中的extension_dir = "C:/php/ext"。
第2步:将“C:\PHP\libmysql.dll”复制到“C:\WINDOWS\system32”。
第3步:将“C:\PHP\ext\php_mysql.dll”复制到“C:\WINDOWS\system32”。
第4步:修改C:\WINDOWS\下的php.ini文件,去掉extension=php_mysql.dll之前的“;”。
这样在PHP的程序里就可以使用MySQL扩展库的函数了,即PHP+MySQL的应用程序才能够正常运行。
‘玖’ php调用shell如何取得返回值
<?php
$output = shell_exec('ls -la');//执行linux命令:ls -la
echo "<pre>$output</pre>";//输出返回值
?>
‘拾’ 如何通过php页面执行shell脚本
exec里面,a.bash前面有sh这个bin文件么,就把bin文件路劲加在a.sh前。try下