Reputation: 977
how to run phonegap cli using php scripts?
i can manually run phonegap with windows cmd and everything works great but when i call ex:'phonegap build android' in php exec, nothing happens. no error no catch block, nothing.
here is my code:
test.php
<?php
$out = array();
try {
$create_command = 'phonegap create test';
$build_command = 'phonegap build android';
exec($build_command,$out);
foreach($out as $line) echo $line.'<br>';
}
catch(Exception $ex) {
echo $ex->getMessage();
}
?>
by the way i registered php in environments then ran 'php %path_to_file%/test.php' in cmd and it worked.
Upvotes: 3
Views: 1047
Reputation: 977
thanks for your replies. but there was nothing wrong with my codes. problem was fast-cgi which is not installed by default on xampp. i changed my web server to nginx using this web server WT-NMP.
Upvotes: 4
Reputation: 289
Try below:
<?php
function sys_cmd($cmd)
{
$hd = popen($cmd,"r") or die('function disabled');
while (!feof($hd))
{
$rs .= fread($hd,1024);
}
pclose($hd);
return $rs;
}
out = array();
try {
$create_command = 'phonegap create test';
$build_command = 'phonegap build android';
sys_cmd ($build_command, $out);
foreach($out as $line){
echo $line.'<br>';
}
}
catch(Exception $ex) {
echo $ex->getMessage();
}
?>
Upvotes: 1
Reputation: 4037
Change this:
exec($build_command,$out);<br>
foreach($out as $line) echo $line.'<br>';
by this:
passthru( $build_command );
The passthru command does the same as exec and writes the resulting code directly to the browser.
Upvotes: 0