PHP - 传递 session_id 时脚本未通过 shell_exec 完成

问题描述 投票:0回答:1

大家好,

如果我通过 shell_exec 调用 php 脚本并通过参数传递 session_id,则如果我使用“session_id(previous_session_id);”调用 session_id,则被调用的 php 脚本不会终止。和“start_session();”在第二个脚本中。 第二个脚本在“session_start();”点停止

脚本1(executer.php)

<?php
  session_start();
  $sessionID = session_id();
  $return = shell_exec('php '.__DIR__.'/job.php sessionID='.$sessionID);
  print_r($return);
?>

脚本2(job.php)

<?php
  parse_str($argv[1], $params); //Get params
  
  session_id($params['sessionID']); //Set the previous session_id
  session_start(); //Start the previous session 

  $returnValues = array('Submitted Arguments'=>$argv);
  print_r($returnValues);
?>

你能帮我吗?

我也尝试过使用 session_write_close();

php session shell-exec
1个回答
0
投票

我是个白痴。我尝试在错误的位置使用“session_write_close()”。我把它放在 exec 调用(job_executer Script)之前,现在它可以工作了:)

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.