Я вызываю скрипт python из PHP.
Программа python должна вернуть некоторое значение в соответствии с аргументами, переданными ему.
Вот пример программы python, которая даст вам общее представление о том, что я делаю в настоящее время:
#!/usr/bin/python import sys #get the arguments passed argList = sys.argv #Not enough arguments. Exit with a value of 1. if len(argList) < 3: #Return with a value of 1. sys.exit(1) arg1 = argList[1] arg2 = argList[2] #Check arguments. Exit with the appropriate value. if len(arg1) > 255: #Exit with a value of 4. sys.exit(4) if len(arg2) < 2: #Exit with a value of 8. sys.exit(8) #Do further coding using the arguments------ #If program works successfully, exit with a value of 0
Как видно из приведенного выше кода, моя основная цель –
В настоящее время я использовал «sys.exit (n)» для этой цели.
Действительно ли я использую sys.exit, или мне нужно использовать что-то еще?
А также какой метод существует в PHP, чтобы я мог получить код возврата из python?
Извините за длинный вопрос, но, надеюсь, это поможет вам понять мою дилемму
Благодаря тонну
В PHP вы можете выполнить команду и получить код возврата с помощью exec
.
В руководстве для exec
указано, что третий параметр – это переменная, в которой будет сохранен код возврата, например
exec('python blibble.py', $output, $ret_code);
$ret_code
будет кодом возврата оболочки, а $output
– массивом строк текста, напечатанного на std. вывод.
Это, по-видимому, подходит для кода возврата из того, что вы описали, то есть 0, указывающего успех, и> 0 – коды для различных типов ошибок.
Это правильное использование exit (). См. Также: http://docs.python.org/library/sys.html