2016-08-19 3 views
-1

Я хочу назвать питон скрипт из PHP файла, как файлы помещаются в тот же каталогНевозможно назвать питон скрипт PHP

Вот мой PHP код: -

<?php 
$command = escapeshellcmd("/home/vyclean06/Desktop/trlNerr/boobank/Paypal.py"); 
$output = shell_exec($command); 
echo $output; 
?> 

после выполнения этого кода есть следующая ошибка

sh: 1: /home/vyclean06/Desktop/trlNerr/boobank/Paypal.py: Permission denied

Что пошло не так в моем коде

+1

Ну тихо, очевидно, PHP-скрипт/веб-пользователь не имеет прав доступа/выполнить сценарий питона. – Epodax

+0

Я хочу добавить, что мои файлы python находятся в структуре классов и формата объекта –

ответ

0

проверьте, относится ли paypal.py к одному пользователю (apache, я думаю). если нет, то попробуйте запустить (Ubuntu):

chown www-data:www-data Paypal.py 

CentOS

chown -R apache.apache Paypal.py 

если да, то сделайте его исполняемым с

chmod +x Paypal.py 
0

Вы можете сказать, Exec() или execshellcmd() для запуска скрипта python как конкретного пользователя без необходимости изменять какие-либо разрешения на него заранее. Если вы знаете пользователя, у которого есть разрешение на запуск этого файла, вы можете сделать что-то вроде следующего. В этом примере говорится, что сценарий должен запускаться как пользовательский «root» независимо от того, какой пользователь использует PHP.

exec("sudo -u root -S /home/vyclean06/Desktop/trlNerr/boobank/Paypal.py"); 

Или как некоторые комментарии предлагают, проверить, какие разрешения против него и обеспечить «Апач» пользователя (или любой другой пользователь PHP работает как) имеет правильные разрешения.

Учитывая вы используете Exec вы можете узнать пользователя PHP, выполнив:

exec("whoami"); 
Смежные вопросы