у меня возникли серьезные проблемы, когда я хочу выполнить свой скрипт на python из php shell_exec (), как говорится в заголовке
Это мой код
exec.php
<?php
$my_url="http://reviews.femaledaily.com/moisturizer-36/lotions/nature-republic/aloe-vera-92-soothing-gel-06?tab=reviews&cat=&cat_id=0&age=&order=nrd&page=1";
echo shell_exec("python hello.py '".$my_url."'");
?>
hello.py
import sys
x = sys.argv[1]
print(x)
выход
'http://reviews.femaledaily.com/moisturizer-36/lotions/nature-republic/aloe-vera-92-soothing-gel-06?tab=reviews
что я хочу ожидать от вывода
'http://reviews.femaledaily.com/moisturizer-36/lotions/nature-republic/aloe-vera-92-soothing-gel-06?tab=reviews&cat=&cat_id=0&age=&order=nrd&page=1'
Есть ли какое-то решение этого? или я должен разделить его на 2 аргумента?
использование escapeshellarg()
правильно экранировать аргумент команды.
echo shell_exec("python hello.py " . escapeshellarg($my_url));
Других решений пока нет …