【发布时间】:2014-08-05 00:34:27
【问题描述】:
关于Is it possible to read cookie/session value while executing PHP5 script through command prompt? 我试图制作一个执行 php 并在此之前设置 $_COOKIE 的 bash 文件。
我首先尝试在 Windows 环境中创建简单的批处理文件:
php -r "$_COOKIE['PHPSESSID']='a095y187'; session_start(); $id_client=%1; $id_supplier=%2; $_COOKIE['id_chosen_client_auto']=$id_client; $_COOKIE['id_chosen_client']=$id_client; require 'manual_automap.php';"
按照我的预期工作,$_COOKIE 已设置,$id_client 和 $id 供应商在 bat 文件后的第一个和第二个参数中设置:
manual_automap.bat 1 1
现在我尝试在 Linux 环境中迁移它,并尝试将 %1 和 %2 更改为 $1 和 $2,但似乎这样不起作用。变量未设置:
php -r "$_COOKIE['PHPSESSID']='a095y187'; session_start(); $id_client=$1; $id_supplier=$2; $_COOKIE['id_chosen_client_auto']=$id_client; $_COOKIE['id_chosen_client']=$id_client; require 'manual_automap.php';"
我在这里错过了什么?
我希望在运行时manual_automap.sh 1 2 $id_client 应该是 1 而 $id_supplier 应该是 2
谢谢。
PS:我运行的php脚本很旧,无法更改。
【问题讨论】:
-
您想通过将 %1 替换为 $1 来达到什么目的?
-
将发送到sh文件的变量传递给php。根据此链接tldp.org/LDP/abs/html/dosbatch.html
标签: php bash batch-file