shell_exec()不能处理php脚本

时间:2018-04-17 14:14:44

标签: php cmd shell-exec youtube-dl

我想运行shell_exec('youtube-dl -j ' . $url);,但它不能处理我的PHP脚本并返回空白数组。当我尝试通过cmd手动运行时,它工作正常。

我尝试localhost,也在我的服务器上,但两个都没有工作......我已经尝试了很多解决方案并实现它,但我仍然无法做到。

这是我的PHP脚本

$url = clearString($this->security->xss_clean($this->input->post("url")));
$data['url'] = $url; 
if(filter_var($url, FILTER_VALIDATE_URL)) {
    $domain = strtolower(getDomainName($url)); 
    $source = $this->DefaultModel->getSource($domain);
    $data['source'] = $domain;
    $cacheVar = "mediaInfo-".md5($url);
    if(!$mediaInfo = $this->cache->get($cacheVar)) {
        $mediaInfo = shell_exec('youtube-dl -j '.$url);
        $this->cache->save($cacheVar,$mediaInfo,$source['linkCacheTime']);
    }
}

当我执行$output = shell_exec("set");它的返回输出时,我想在我的xampp服务器loaclhost上运行shell_exec('youtube-dl -j '.$url);命令。

1 个答案:

答案 0 :(得分:0)

解决上述问题的步骤。

  1. 在public_html目录中上传youtube-dl。
  2. 提供如下所示的完整路径
  3. 
    
    shell_exec('/home/{path}/public_html/youtube-dl -j
        '.$url);