Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
将GET变量从一个Bash/PHP脚本传递到另一个Bash/PHP脚本_Php_Linux_Bash_Get - Fatal编程技术网

将GET变量从一个Bash/PHP脚本传递到另一个Bash/PHP脚本

将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

我不确定它的正确名称,但我正在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的文件,而您显然没有该文件

您可以从withing调用另一个脚本,比如with
system('./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");

?>