当我在命令行中执行下面的代码时,运行正常:
C:\Users\Shraddha\book ticket\ex1 scrapy crawl bookmyshow
然而,它并没有使用exec()
在PHP中执行:
exec("C:\Users\Shraddha\book ticket\ex1 scrapy crawl bookmyshow");
答案 0 :(得分:0)
您需要转义路径中的空白字符,否则它们将被解释为多个参数之间的分隔符。使用正斜杠作为文件夹分隔符更安全,因为它在unixoid系统和一般的互联网中使用:
exec("C:/Users/Shraddha/book\ ticket/ex1\ scrapy\ crawl\ bookmyshow");
如果你坚持使用MS-Windows风格的分隔符,那么你也必须逃避它们:
exec("C:\\Users\\Shraddha\\book\ ticket\\ex1\ scrapy\ crawl\ bookmyshow");
此外,您可能更喜欢在此使用shell_exec()
来为您的命令执行一个定义良好且已初始化的环境。