CodeIgniter4控制器方法中无法执行Python脚本的问题求助
CodeIgniter4控制器方法中无法执行Python脚本的问题求助
我刚接触CodeIgniter 4,尝试在控制器方法里简单运行一个本地Python脚本,但遇到了问题。
我的控制器方法代码如下:
public function runPythonScript(){ log_message('debug', 'OKKKKrun1' ); //echo shell_exec("whoami"); //通过这个我得到了: nt authority\system $scriptPath = "C:/xampp/htdocs/ci4-test/public/assets/python/welcome.py"; //$command = "echo Hello World 2>&1";//这个能正常工作 $command = escapeshellcmd("C:/Users/L/AppData/Local/Microsoft/WindowsApps/python.exe $scriptPath 2>&1");//返回空,而且Python脚本里的日志也没生成,看起来根本没执行 $output = shell_exec($command); log_message('info', 'OKKKKrun2' .print_r($output,true));//日志里显示是空的 if ($output === null) { $error = error_get_last(); log_message('error', 'Error executing script: ' . print_r($error, true));//这里日志也是空的 echo "An error occurred. Check the logs."; } else { echo 'result is: '.$output; } }
我已经把Python路径加到系统环境变量里了,而且shell_exec执行注释里的命令(比如whoami、echo Hello World)都能正常工作,但就是这个welcome.py脚本完全没执行,脚本里的日志也没产生,返回结果是空的。浏览器访问时,日志里只显示这些内容:
INFO - 2025-02-05 12:41:47 --> OKKKKrun1 INFO - 2025-02-05 12:41:47 --> Python script output: INFO - 2025-02-05 12:41:47 --> Executing command: C:/Users/L/AppData/Local/Microsoft/WindowsApps/python.exe C:/xampp/htdocs/ci4-test/public/assets/python/welcome.py 2^>^&1 INFO - 2025-02-05 12:41:47 --> OKKKKrun2 ERROR - 2025-02-05 12:41:47 --> Error executing script:
我的Python脚本代码:
import sys try: print("Welcome to CodeIgniter!") except Exception as e: print(f"Error: {e}", file=sys.stderr)
路由配置(routes.php里的部分代码):
$routes->get('run-script', 'Properties\PropertiesController::runPythonScript');
有没有人能告诉我问题出在哪,该怎么解决?提前谢谢大家了!
备注:内容来源于stack exchange,提问作者Sol Kan
相关产品推荐
相关产品推荐

