Запуск скрипта Python в Laravel 5.6 - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь запустить скрипт python из laravel. Я использую версию 5.6.

В контроллере у меня есть это

public function test_python()
{
    $command = escapeshellcmd('python ' . public_path() . '\test\test.py');
    $output = shell_exec($command);
    dd($output);
}

Но это вернет меня null.

Вывод должен быть Hello World!


test.py

#!/usr/bin/env python

print('Hello World!')

Если создать файл php вне моей папки laravel с этим

<?php 
$command = escapeshellcmd('python C:\wamp64\www\projects\laravel\public\test\test.py');
$output = shell_exec($command);
echo $output;

И когда я запускаю php path/outside/laravel/test.php из командной строки, я вижу правильный результат.


test.py имеет право разрешения (-rwxr-xr-x). И Python также прав относительно пути окружения.

Я также пытался использовать полный путь сценария, но все еще не удается.

PS: ответ от этот пост у меня не работает

1 Ответ

0 голосов
/ 28 августа 2018

Для начала, может быть, "php user" не имеет разрешения на запуск? Я имею в виду php не вижу глобальной переменной пути.

Также для него можно использовать библиотеку Symfony \ Proccess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...