为什么PHP exec()不能在第一页加载时工作?我正在使用以下行通过PHP执行python脚本:
exec("python suggester.py " . $query_plus . " " . $location, $output);
大多数情况下,这都很好,但在我的页面(suggester.promediacorp.com)的初始加载时,POST请求会等待/挂起近一分钟,直到它最终返回响应。如果刷新了页面,或者之后运行了另一个查询,则它可以正常工作。
我几乎100%确信这个问题与exec()有关,因为当我删除该代码时,我会立即得到响应。此外,即使python文件没有任何内容,该问题仍然存在。
您没有预先转义的参数。看见http://php.net/manual/en/function.escapeshellarg.php
我想明白了。这是php的错误日志记录的一个问题,在我的脚本完成运行之前就得到了响应。