使用 shell_exec 将 Bash 个参数传递给 PHP 文件
Passing Bash Arguments to PHP File with shell_exec
我有一个通过 PHP 文件调用的 bash 脚本。对于初学者来说,这些文件的内容如下:
script.sh
#!/bin/bash
term=
curl -H "Accept: text/plain" -s "https://some-api.com/search?term=$term&limit=1"
php 文件
<?php
$message = shell_exec("script.sh '".$term."'");
$term = escapeshellarg($term);
print_r($message);
?>
在上面的例子中,script.sh
通过 运行 找到类似 ./script.sh search-term
的东西。
但是当运行使用PHP文件提取相同的信息时,我遇到了错误。
最终我想 运行 一个 bash 脚本,包括参数,通过 PHP 文件.
我大部分时间都在尝试使用 this answer 中提出的解决方案,感觉我的 PHP 文件应该可以工作。
我知道我的脚本和编码肯定是 hacky,而且显然不起作用 - 有人对我可能做错的事情有任何意见吗?
可以使用$argv
获取命令行参数:
$term = $argv[1];
和运行:
php file.php argument
我有一个通过 PHP 文件调用的 bash 脚本。对于初学者来说,这些文件的内容如下:
script.sh
#!/bin/bash
term=
curl -H "Accept: text/plain" -s "https://some-api.com/search?term=$term&limit=1"
php 文件
<?php
$message = shell_exec("script.sh '".$term."'");
$term = escapeshellarg($term);
print_r($message);
?>
在上面的例子中,script.sh
通过 运行 找到类似 ./script.sh search-term
的东西。
但是当运行使用PHP文件提取相同的信息时,我遇到了错误。
最终我想 运行 一个 bash 脚本,包括参数,通过 PHP 文件.
我大部分时间都在尝试使用 this answer 中提出的解决方案,感觉我的 PHP 文件应该可以工作。
我知道我的脚本和编码肯定是 hacky,而且显然不起作用 - 有人对我可能做错的事情有任何意见吗?
可以使用$argv
获取命令行参数:
$term = $argv[1];
和运行:
php file.php argument