【发布时间】:2013-02-17 16:57:33
【问题描述】:
在我的笔记本电脑上,我安装了一个网络服务器并编写了一个脚本。在任何浏览器中通过http://localhost/test/search.php 访问脚本可以使其正常运行:它会搜索、下载和存储某些推文。
我现在想让脚本每 20 分钟自动运行一次,所以我在 C:\Program Files\GnuWin32\bin\wget.exe 下载并安装了适用于 Windows 的 wget。然后,我使用以下操作(在“操作”选项卡上填写)创建了一个 Windows 任务:
Program/script:
"C:\Program Files\GnuWin32\bin\wget.exe"
Add arguments (optional): -O - -q -t 1 http://localhost/test/search.php
正如预期的那样,每 20 分钟就会打开一个命令行来运行脚本。然而,什么也没有发生。脚本未初始化。我确信我的所有路径都是正确的。什么可能导致脚本没有被执行?命令行会在几毫秒内消失,所以我看不到它在说什么......
【问题讨论】:
-
我不明白为什么你首先需要使用 wget。您可以像从 CLI 运行它一样执行该文件。
php -f c:\xampp\htdocs\search.php -
如果我这样做,cli 会打开,但会返回许多 php 错误,即。
Warning: include_once(includes/template.php): failed to open stream: No such file or directory in D:\htdocs\test\includes\bootstrap.php on line 12; Warning: include_once(): Failed opening 'includes/template.php' for inclusion (include_path='.;C:\XAMPP\php\PEAR') in D:\htdocs\test\includes\bootstrap.php on line 12这很奇怪,因为当我从浏览器运行脚本时,我没有收到这些错误。为什么 scipt 在这样调用时会在 C:\XAMPP\php\PEAR 而不是 D:\htdocs\test\includes 中查找template.php? -
好的,我现在知道了。在这种情况下,请执行以下操作:步骤 1:cd C:\XAMPP\php\,步骤 2:php D:\htdocs\test\search.php。如果您现在遇到一些错误,那么它仅与脚本/框架有关,您需要以不同的方式调用它。
-
打开命令行并简单地运行
"C:\Program Files\GnuWin32\bin\wget.exe" -O - -q -t 1 http://localhost/test/search.php会发生什么? -
C:\Users\Pr0no>"C:\Program Files\GnuWin32\bin\wget.exe" -O - -q -t 1 http://localhost/ting/search.php SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = C:\Program Files\GnuWin32/etc/wgetrc C:\Users\Pr0no>我没有收到任何错误,但脚本没有被执行。这很奇怪,因为当我在浏览器中运行http://localhost/ting/search.php时,脚本确实 会被执行..?!这与 OP 中的问题完全相同。
标签: php windows command-line localhost wget