在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+文件名