Я пытаюсь использовать функцию PHP exec ().
Если аргумент return_var присутствует вместе с выходным аргументом, тогда статус возврата выполненной команды будет записан в эту переменную.
Если выполнение было успешным, оно равно 0. Однако, если есть ошибка, это может быть множество других целых чисел. Кажется, я не могу найти нигде, с чем соответствуют эти целые числа. Как интерпретировать целое число, которое я получаю?
Обновить:
Я действительно должен был указать это первоначально, но я выполняю еще один PHP-скрипт. В отличие от rsync, который имеет значения выхода на своей странице руководства, я не могу найти эквивалент для PHP.
Так что я делаю что-то вроде:
$rv = exec('php file.php', $out, $rv);
Возвращаемое значение зависит от процесса / программы, которую вы запускали с помощью exec. Например, если вы запустили grep:
Статус выхода равен 0, если выбраны линии, и 1, если они не найдены. Если произошла ошибка, статус выхода равен 2. (Примечание: код обработки ошибок POSIX должен проверяться на «2» или выше).
rsync имеет около 20 различных кодов выхода ошибок, все изящно объясненные на странице руководства:
http://linux.die.net/man/1/rsync
так что да, это зависит от программы 🙂
Даже если вы используете PHP-скрипт, значение выхода зависит от вашей самой программы. По умолчанию скрипты php завершатся с 0. Если вы используете функцию выхода, вы можете возвращать разные коды выхода:
http://php.net/manual/en/function.exit.php
Если вы хотите экспериментально определить, что ваша программа php выйдет, вызовите ее в командной строке:
php file.php
затем сделайте
echo $?
это покажет вам значение выхода вашего скрипта php.
IMHO, перед использованием функции exec () лучше задайте параметры вывода и return_var и прочитайте выполнение кода возврата return_var. Не полагайтесь на возвращаемое значение exec ().
Просмотрите страницу руководства для команды, которую вы выполняете. Это значение не имеет ничего общего с PHP, но фактическая команда.