首页 > 编程知识 正文

exec在php中是什么意思

时间:2023-12-29 13:16:50 阅读:330206 作者:UYYI

本文目录一览:

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);

?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。