本文目录一览:
php中exec函数怎么用
exec函数解析
exec语法: string exec(string command, string [array], int [return_var]);
exec返回值: 字符串
Exec参数说明
Command – 需要执行的命令
Array – 是输出值
return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败。
exec不成功,调试方案
一个技巧就是使用管道命令, 使用 21, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。
如:
exec('convert a.jpg b.jpg', $output, $return_val);
改为:
exec('convert a.jpg b.jpg 21', $output, $return_val);
print_r($output);
如何配置服务器的php,使得能成功运行exec函数?
如果是命令行使用的话,直接运行即可,如果是apache使用的话,需要重启apache,如果是nginx配合使用的话,需要重启php-fpm,exec函数执行命令并不需要安全目录,只要有执行权限就可以执行。
PHP运行EXEC文件
可以,但需要系统权限,和启用PHP的exec函数支持,php配置默认是禁用的。
使用方法:
$str
=
exec("cmd
命令");
$str
返回执行命令后所输出的字符。
详细说明可以查询php手册
php exec()
php的exec函数用法如下:
exec — 执行一个外部程序
string exec( string $command[, array $output[, int $return_var]])
exec() 执行command 参数所指定的命令。
command:要执行的命令。
output:如果提供了 output 参数,那么会用命令执行的输出填充此数组,每行输出填充数组中的一个元素。数组中的数据不包含行尾的空白字符,例如 \n 字符
请注意,如果数组中已经包含了部分元素,exec()函数会在数组末尾追加内容。
如果不想在数组末尾进行追加,请在传入 exec() 函数之前对数组使用 unset() 函数进行重置。
return_var:如果同时提供output和return_var 参数,命令执行后的返回状态会被写入到此变量。
返回值:
命令执行结果的最后一行内容。
如果需要获取未经处理的全部输出数据,请使用 passthru() 函数。
如果想要获取命令的输出内容,请确保使用 output 参数。
PHP怎么运行EXEC文件?
在PHP中调用外部命令,可以用如下三种方法来实现:
1、用PHP提供的专门函数
(1)PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。
(2)system() 原型:string system (string command [, int return_var])
(3)system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。
2、例子:
代码如下:
?php
system("/usr/local/bin/webalizer/webalizer");
?
exec()
(1)原型:string exec (string command [, string array [, int return_var]]) exec
(2)()函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array 可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二 个参数时,才可以用第三个参数,用来取得命令执行的状态码。
怎样在php中执行exec命令
exec 或者 system 都可以调用cmd 的命令
直接上代码:
复制代码 代码如下:
?php
/** 打开windows的计算器 */
exec('start C:WindowsSystem32calc.exe');
/** php生成windows的批处理文件后,再执行这个批处理文件*/
$filename = 't.bat';
$somecontent = 'C:
';
$somecontent .= 'cd "C:/Program Files/MySQL-Front"';
$somecontent .= '
start MySQL-Front.exe';
if (!$handle = fopen($filename, 'w')) {
echo "不能打开文件 $filename";
exit;
}
/** 首先要确定文件存在并且可写*/
if (is_writable($filename)) {
/** 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方
将$somecontent写入到我们打开的文件中 。*/
if (fwrite($handle, $somecontent) === FALSE) {
echo "不能写入到文件 $filename";
exit;
}
echo "成功地将 $somecontent 写入到文件 $filename";
fclose($handle);
} else {
echo "文件 $filename 不可写";
}
exec($filename);
?