Переменная sys.argv, переданная из shell_exec, была сокращена

у меня возникли серьезные проблемы, когда я хочу выполнить свой скрипт на 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 аргумента?

0

Решение

использование escapeshellarg() правильно экранировать аргумент команды.

echo shell_exec("python hello.py " . escapeshellarg($my_url));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]