Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php运行phonegap?_Php_Android_Cordova_Command Line Interface - Fatal编程技术网

如何使用php运行phonegap?

如何使用php运行phonegap?,php,android,cordova,command-line-interface,Php,Android,Cordova,Command Line Interface,如何使用php脚本运行phonegap cli? 我可以用WindowsCMD手动运行phonegap,一切都很好,但当我在PHPExec中调用ex:“phonegap构建android”时,什么也没发生。没有错误,没有捕捉块,什么都没有。 这是我的代码: test.php <?php $out = array(); try { $create_command = 'phonegap create test'; $build_command = 'phonegap bu

如何使用php脚本运行phonegap cli?
我可以用WindowsCMD手动运行phonegap,一切都很好,但当我在PHPExec中调用ex:“phonegap构建android”时,什么也没发生。没有错误,没有捕捉块,什么都没有。

这是我的代码:

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();
}
?>

顺便说一句,我在环境中注册了php,然后在cmd中运行了'php%path\u to_file%/test.php',它成功了。

改变这个:

exec($build_command,$out);<br>
foreach($out as $line) echo $line.'<br>';
该命令的作用与exec相同,并将生成的代码直接写入浏览器。

请尝试以下操作:

<?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();
}
?>


感谢您的回复。但我的密码没有问题。问题是fast cgi,默认情况下未安装在xampp上。我使用此web服务器将我的web服务器更改为nginx。

嗯,
$out
为空,
$create\u命令
从未使用过,并且代码中的任何内容都不会引发异常。。。也许你应该多想想你的代码?我建议你查一查。是的,你的右边大约有$out,我忘了写在这里了。它类似于真正的手动文件中的exec($build\u command,$out)。而$create_命令从未被使用并不重要。关键是当我使用浏览器和Web服务器加载test.php时,phonegap命令都不起作用。谢谢你的帮助reply@monias这可能是由于缺少权限造成的。但为了确保您可以运行以下命令:$build_command='phonegap build android 2>&1';在exec上至少可以看到错误。您是否尝试启用PHP错误?这通常有助于找出这样的故障。。。你不是在共享主机上,对吗?您正在本地尝试此功能?能否添加更多详细信息:所需的php模块、安全设置等,例如,这在xampp上不起作用,为什么?我使用xampp进行了测试,没有问题。创建一个名为test.txt的文本文件,其中包含所需的内容。现在使用此内容创建一个test.php,您应该可以在浏览器上看到文本文件的内容。确保它可以工作,但问题是快速cgi,默认情况下xampp safemode允许有限的windows命令而不是phonegapOk,很高兴看到您修复了它。当做
<?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();
}
?>