在控制器内的命令行中执行python - PHP/CodeIgniter

cyb*_*ron 5 php python codeigniter

在我的automation.php控制器内,我有以下功能:

public function deploy_test() {

      echo json_encode(system("python --version"));
 }
Run Code Online (Sandbox Code Playgroud)

当用户想要部署测试时,通过单击test网页中的按钮,他将能够完成这样的任务.但是,当我单击test按钮时,我的输出是:

""
Run Code Online (Sandbox Code Playgroud)

同时,当我用命令执行相同的功能时:

public function deploy_test() {

    echo json_encode(system("ls -l"));
}
Run Code Online (Sandbox Code Playgroud)

我越来越:

total 32
drwxr-xr-x. 15 philippe philippe 4096 Mar  4 16:48 application
drwxrwxr-x.  2 philippe philippe 4096 Mar  4 17:28 css
-rw-r--r--.  1 philippe philippe 6357 Jan 30 11:53 index.php
drwxrwxr-x.  2 philippe philippe 4096 Feb 27 15:38 js
-rw-r--r--.  1 philippe philippe 2496 Jan 30 11:53 license.txt
drwxr-xr-x.  8 philippe philippe 4096 Jan 30 11:53 system
drwxr-xr-x. 12 philippe philippe 4096 Jan 30 11:53 user_guide
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决问题吗?

You*_*lan 0

我怀疑它不在路径中。尝试:

输入 python 命令的完整路径(例如/usr/bin/python --version

  1. 使用命令 which, 'which python' 找出

  2. 尝试从命令行执行脚本,'php script.php' => 有时 Web 服务器的设置有所不同

  3. 确保启用了错误显示

    ini_set('display_errors',1);