Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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
将Python值返回给PHP,而不是让它显示它_Php_Python_Session_Login_Return - Fatal编程技术网

将Python值返回给PHP,而不是让它显示它

将Python值返回给PHP,而不是让它显示它,php,python,session,login,return,Php,Python,Session,Login,Return,目前,我正在使用以下工具从PHP执行Python脚本: <?php $output = shell_exec('python ../cgi-bin/admin_login.py'); echo $output; ?> 这很好用。它显示脚本中打印调用的所有数据 但是,我怎样才能真正地将值返回给PHP,而不让它显示为输出呢?显然删除了那个echo调用,但Python return似乎什么都没做 Python脚本用于登录过程,并处理所有MySQL工作;我知道有限的PH

目前,我正在使用以下工具从PHP执行Python脚本:

<?php

    $output = shell_exec('python ../cgi-bin/admin_login.py');
    echo $output;

?>
这很好用。它显示脚本中打印调用的所有数据

但是,我怎样才能真正地将值返回给PHP,而不让它显示为输出呢?显然删除了那个echo调用,但Python return似乎什么都没做

Python脚本用于登录过程,并处理所有MySQL工作;我知道有限的PHP,所以这就是为什么我使用Python来实现这一点

运行脚本后,将根据登录是否成功生成结果

e、 g.LOGGEDIN、EMPTYUSR、EMPTYPW、ErrorPw。PHP进一步操作的所有错误或正确代码

e、 g.如果返回LOGGEDIN=True,PHP应该创建一个会话,以便站点的其余部分知道用户已登录

所以我想要的是一个从PHP运行Python的解决方案,并在不在页面上显示返回值的情况下返回这些值

非常感谢您的任何建议, Ilmiont

不要使用shell\u exec,而是使用,然后根据返回的代码决定要做什么

<?php
  exec('python ../cgi-bin/admin_login.py', $output, $code);
  switch($code) {
    case 0:
      echo $output;
    break;
    // other case may follow
  }
?>

为什么不把Python用于所有事情呢?与使用PHP/Python混合语言相比,确实有一些方法可以使开发变得更加友好和简单。请在单引号“……py-c”的末尾尝试使用-c
exec('python ../cgi-bin/admin_login.py 2>&1', $output, $code);