Как запустить scrapy с параметрами url из php на Linux Debian

Как видно из заголовка … как я могу запустить мой scrapy проект с определенным параметром url из php? Я пробовал это на Windows раньше, и это работало отлично, теперь на Linux это ничего не делает.

На Windows работает:

pclose(popen('cd .. & scrapy crawl mySpider -a "urls=http://www.example.com/'.$variable1.'/'.$variable2.'"','r'));

На Linux не работает:

pclose(popen('sudo cd .. | sudo scrapy crawl mySpider -a "urls=http://www.example.com/'.$variable1.'/'.$variable2.'"','r'));

Я уже проверил, что php-файл пытается выполнить скрипт как пользователь www-data, поэтому я добавил этого пользователя для тестирования в список sudoer, но он все еще не работает. Когда я пытаюсь использовать команду непосредственно в оболочке, она работает, хотя. Я также проверил, все ли файлы принадлежат www-данным и являются ли они исполняемыми. Мой паук принадлежит www-data и имеет 755 прав.
Что мне здесь не хватает?

Редактировать:
Когда я меняю пользователя на www-data и пытаюсь запустить команду, она работает, просто скрипт php не работает.

0

Решение

Я нашел решение. Я понял, что php не понимает оператора Pipe.

Правильный способ выполнения этой команды следующий:

pclose(popen('cd .. ; scrapy crawl mySpider -a "urls=https://example.com', 'r'));

Вместо этого следует использовать точку с запятой.

0

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

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

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