在php教程中调用命令的函数是
string exec(string command, string [array], int [return_var]);
如
exec( "vpopmail ");
echo exec('whoami');
再看一实例
functionexec_enabled(){
$disabled=explode(',',ini_get('disable_functions'));
return!in_array('exec',$disabled);
}
<?php
$tmp=exec("c:Imagegm.execonvertc:Imagefile1.tiffc:Imagefile1.jpg",$results);
?>
还有一种命令是
php通过函数system()调用系统命令。
stringsystem(string$command[,int&$return_var])
实例
system('asterisk-vvvvvvvvvvvc');
system()是一样的函数C的,它执行给定的命令和输出结果的版本。该system()的调用也尝试自动刷新网页服务器的输出缓冲器在每个输出
行如果PHP运行作为服务器模块。如果你需要执行一个命令,并已全部通过直接从背面没有任何干扰的命令数据,使用passthru()函数。
$last_line=system('ls',$retval);
functionmy_exec($cmd,$input='')
{$proc=proc_open($cmd,array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')),$pipes);
fwrite($pipes[0],$input);fclose($pipes[0]);
$stdout=stream_get_contents($pipes[1]);fclose($pipes[1]);
$stderr=stream_get_contents($pipes[2]);fclose($pipes[2]);
$rtn=proc_close($proc);
returnarray('stdout'=>$stdout,
'stderr'=>$stderr,
'return'=>$rtn
);
}
var_export(my_exec('echo-e$(</dev/stdin)|wc-l','h el lo'));
实例三
$cmd="date";
$output=system($cmd);
printf("SystemOutput:$output");
exec($cmd,$results);
printf("ExecOutput:{$results[0]}");
php调用linux命令的权限问题
你可以使用定时任务执行你要调用的php,这时的权限就是root,
php通过函数system()调用系统命令
php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限为775,这样属组成员就有写的
权限,而apache属于这个组就可以改写该目录下所有文件的权限,当然,属组最好不要是root,你可以为该文件夹改个其它普通用户组。
改apache/php的运行用户方法不安全
Ⅱ linux中如何查看php指向的php.ini的绝对路径
查看下php的配置信息比如你建立一个测试网页,<?php echo phpinfo();?>运行下,会看到配置信息;里面内有一项是显示你加载的配置文容件的位置的Loaded Configuration File
Ⅲ linux下php fwrite无法写入文件怎么回事呀
需要先确认一下,用户对这个文件夹有读写权限,在fwrite将操作的文件夹外,执行ll命令,查看一下这个文件夹有没有w这个权限,如果没有的话,对上级目录执行以下chmod -R 733或者777授权命令,获得这个文件夹的写权限,才可以进行fwrite操作。
如果已有这个权限的话,检查一下你的代码问题,也有可能是fwrite写文件路径的,文件夹名称的大小写问题,找不到具体路径,所以不能创建。
Ⅳ linux php配置文件在哪
1、找到linux php配置文件具体的的方法首先是可以打开终端输入find命令即可显示出php配置文件的路径:
Ⅳ 怎么在linux运行php文件
在命令行运行的话来,linux和Windows环境下自一样,如果你的PHP已经设置为全局的,可以直接
php 后跟文件名,如果不是全局的就进入php安装bin目录下,就是有php.exe文件那个目录下执行 php+文件名