Я хочу выполнить терминальную команду, используя php?

Я пытался exec, shell_exec, system, но они не работали для меня. Команда, которую я хочу выполнить, выглядит следующим образом:

./toolkits/collaborative_filtering/svdpp --training=/home/zubair/graphchi_v0.2.6/graphchi/smallnetflix_mm.train.txt --validation=/home/zubair/graphchi_v0.2.6/graphchi/smallnetflix_mm.validate.txt --binary_relevance_thresh=4 --sgd_gamma=1e-6 --max_iter=30 --quiet=1 --sgd_step_dec=0.9999 --sgd_lambda=1e-6 --D=3 --minival=1 --maxval=10`
1
задан 5 September 2013 в 20:56

1 ответ

Поскольку php не является скомпилированным языком, вы не можете выполнить его напрямую. Вы должны указать системе, как ее открыть, как в сценарии оболочки.

С помощью сценария оболочки вы можете запустить его, используя sh filename или bash filename. Другой способ - написать скрипт со специальной строкой комментария вверху, называемой «sha-bang» или «crash-bang»; для сценария bash это выглядит так: #!/bin/bash Затем вы можете сделать файл исполняемым и выполнять его как обычную программу.

Вы можете сделать то же самое для php. Либо запустите его под php, если он у вас есть (php xxx.php), либо добавьте sha-bang, но заставьте его сказать /bin/php вместо /bin/bash

0
ответ дан 5 September 2013 в 20:56

Другие вопросы по тегам:

Похожие вопросы: