php - Windows 路径未运行的 shell_exec

标签 php shell-exec

<分区>

我正在尝试使用 shell_exec 运行命令,但它没有返回任何输出。当我将命令复制到命令提示符时,它就像一个魅力。

这是我要运行的命令。

$result = shell_exec('android update project -p "C:\xampp\htdocs\appBuilder" -t 1');

$result 返回一个空字符串。当我在命令提示符下运行该命令时,它会显示一条消息,说明 build.xml 文件已成功生成。它应该在 $result 中显示成功消息。

如果我在命令提示符下仅运行命令 android update project -p "C:\xampp\htdocs\appBuilder"-t 1,它就可以工作。

仅供引用:此命令用于为 Android 应用程序生成 build.xml 文件。我还在使用 xampp 的本地网络服务器上运行它。

有人知道我做错了什么吗?

最佳答案

双反斜杠 \\ 应该用于打印单个 \ 字符(使用第一个 \转义第二个 \):

$result = shell_exec('android update project -p "C:\\xampp\\htdocs\\appBuilder" -t 1');

还要确保 PHP SAFE MODE 设置为 OFF

关于php - Windows 路径未运行的 shell_exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13783649/

相关文章:

php - MySQL 崩溃,错误 "Lost connection to MySQL server at ' 读取初始通信数据包',系统错误 : 111

java - shell_exec 将多行输出显示为单行

php - 从 php exec() 运行 vcgencmd

php - 在 laravel-7.25 上安装望远镜失败

php - 如何判断查询何时在 PHP PDO 中成功执行?

"%x{something}"的 Ruby 不同结果,其中 "something"带引号或不带引号

使用 wkhtmltopdf 时 php shell exec 挂起

php - linux下通过PHP网页运行C编译程序

php - MySQL 查询 : How can I add a user to my MySQL database with PHP

php - 使用 laravel 时 stripe-php 和 stripe-cartalyst API 之间的区别