Chr*_*ris 5 php linux bash get
我不确定它的正确名称,但我在Linux服务器上的Bash脚本中执行PHP代码.我有两个这样的Bash文件,并希望能够将GET变量从一个文件传递到下一个文件.
这是第一个文件的简化版本:
#!/usr/bin/php -q
<?php
require("bash2.sh?id=1");
Run Code Online (Sandbox Code Playgroud)
这是第二个文件的简化版本:
#!/usr/bin/php -q
<?php
echo $_GET['id'];
Run Code Online (Sandbox Code Playgroud)
目前,当我在Crontab上执行第一个文件时,我收到一条错误消息:
PHP警告:require(bash2.sh?id=1):无法打开流:第2行/home/bash/bash1.sh中没有此类文件或目录
如果我?id=1从中删除require()它,它执行没有错误.
您正在思考网络...您输入的require是 PHP 引擎将使用操作系统查找的实际文件名。即它会查找一个名为bash2.sh?id=1您显然没有的文件。
您可以从 withing 调用另一个脚本,例如 withsystem('./bash2.sh 2');
或者,include,并使用下面的方法来传递数据。
文件1
<?php
$id = 1;
require("bash2.sh");
Run Code Online (Sandbox Code Playgroud)
文件2
<?php
echo $id;
Run Code Online (Sandbox Code Playgroud)
如果您使用第一个示例 ( system('./bash2.sh 2');) 那么在 bash2.sh 中您将通过以下方式访问该变量:
<?php
echo $argv[1]; //argv[0] is the script name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1437 次 |
| 最近记录: |