加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

为什么我的PHP exec()无法在bash tidy命令中打开文件?

发布时间:2020-12-13 15:59:13 所属栏目:PHP教程 来源:网络整理
导读:请忍受我(我只是学习如何使用 PHP).我无法弄清楚我的整洁错误是否与错误的wget命令或其本身有关.我以为我的wget命令是抓取远程文件并将其放入我服务器上的$link目录中…但似乎有些不对劲. 我试过了 将$tidy_cmd更改为单引号 将该行连接到“…”. $htmlDir.
请忍受我(我只是学习如何使用 PHP).我无法弄清楚我的整洁错误是否与错误的wget命令或其本身有关.我以为我的wget命令是抓取远程文件并将其放入我服务器上的$link目录中…但似乎有些不对劲.

我试过了

>将$tidy_cmd更改为单引号
>将该行连接到“…”. $htmlDir. “/ *”;
>不包括“/ *”
>使用php tidy命令(注释掉…失败).

错误:

Error: Can’t open “app/HtmlPages/arl.server.com-2015_11_19_15:36:09/arl.server.com/index.php/art”

wget.php:

$ip = $argv[1];

    // Get the current time for the filename
    $currentTime = date( 'Y_m_d_H:i:s' );
    $link = "app/HtmlPages/$ip" ."-". "$currentTime";             
    $htmlDir = "$link/$ip/index.php/art";

    // Use wget to download aaron.htm webpage
    $wget_cmd = "wget -P $link/ http://$ip/index.php/art/aaron.htm";

    exec ( $wget_cmd );

    // Clean up the HTML for every page.
    $tidy_cmd = "tidy -config tidy_config.txt -i -m $htmlDir/*";
    exec ( $tidy_cmd );

    //$tidy_config = file_get_contents( 'tidy_config.txt' );
    //$tidy = new tidy();
    //$tidy->parseFile( '$htmlDir/*.htm',$tidy_config );
    ...

解决方法

看起来$htmlDir与您的源文件(即wget.php)相关,而它需要是来自文件系统根目录的绝对路径(例如,/ home / yourname / yourfolder /和/ so / on /).执行整理时,它无法读取文件,因为该文件不存在,即您提供了错误的路径.尝试从文件系统的根目录提供一个绝对路径,你应该好好去!

为了将来参考,通过创建仅包含有问题代码的测试文件来调试此类事情是有帮助的.在你的情况下,只是执行整洁的位.然后,您可以使用$php test_script.php在命令行上执行该文件,希望这将使您的调试更快更容易!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读