将GET变量从一个Bash/PHP脚本传递到另一个Bash/PHP脚本
我不确定它的正确名称,但我正在Linux服务器上的Bash脚本中执行PHP代码。我有两个Bash文件,希望能够将GET变量从一个文件传递到下一个文件 以下是第一个文件的简化版本:将GET变量从一个Bash/PHP脚本传递到另一个Bash/PHP脚本,php,linux,bash,get,Php,Linux,Bash,Get,我不确定它的正确名称,但我正在Linux服务器上的Bash脚本中执行PHP代码。我有两个Bash文件,希望能够将GET变量从一个文件传递到下一个文件 以下是第一个文件的简化版本: #!/usr/bin/php -q <?php require("bash2.sh?id=1"); #/usr/bin/php-q 你在思考网络。。。 你在require中输入的是PHP引擎将查找的实际文件名 使用操作系统。i、 它查找一个名为bash2.sh?id=1的文件,而您显然没有该文件 您可以从wi
#!/usr/bin/php -q
<?php
require("bash2.sh?id=1");
#/usr/bin/php-q
你在思考网络。。。
你在require
中输入的是PHP引擎将查找的实际文件名
使用操作系统。i、 它查找一个名为bash2.sh?id=1的文件,而您显然没有该文件
您可以从withing调用另一个脚本,比如withsystem('./bash2.sh2')代码>
或者,包含并使用以下方法传递数据
文件1
无法将参数添加到硬盘上的静态文件中。但是您可以定义一个全局变量,该变量可由Required脚本访问
<?php
$id=1
require("bash2.php");
尝试以下方法:
<?php
$id = $_GET['id'];
exec("./bash2.sh $id");
?>
然后在bash脚本中,您将能够访问作为$1传递的第一个参数
及
希望这有帮助 不,伙计,你应该用论点。当您执行php脚本时(我在cron作业中猜测),您会添加一些参数,如some.php variable1 variable2
。。。。。等等`
然后在php中,您会得到带有$argv[0]、$argv[1]的变量。。。。etc
这是bash脚本的方式。恐怕这行不通。。。如果需要搜索脚本的确切名称,则无法向其传递变量,因为它不是URL,而是路径。我知道在脚本之间传递变量的唯一方法是session_start()和header(),但是如果没有web服务器,这些方法恐怕无法工作。应该是$argv[1]
而不是argv[1]
<?php
echo $id;
<?php
echo $argv[1]; //argv[0] is the script name
<?php
$id=1
require("bash2.php");
<?php
echo $id;
<?php
$id = $_GET['id'];
exec("./bash2.sh $id");
?>