0

我有一个连接到数据库并进行插入/更新的 php 脚本,显然,如果我使用浏览器运行脚本,它会成功执行,将其移入生产中不会发生这种情况。

我想问一下如何使用批处理脚本调用 php.exe,然后运行我创建的 php 脚本来执行插入/更新。

我有 ff: 设置

我正在使用带有ff的xampp:

webdirectory/cronjobs/cronjob.php -> 插入和更新 webdirectory/cronjobs/runscript.bat -> 将运行 cronjob.php

runscript.bat
@echo off
php.exe -f ../webdirectory/cronjobs/cronjob.php

cronjob.php

include_once('../db/dbcon.php');
$test = $db->run();
.... insert/update codes

此外,当我尝试使用 Win7 的命令行直接运行批处理脚本时,使用drive:>/xampp/php/php.exe -f drive:>xampp/htdocs/webdirectory/cronjobs/cronjob.php

我得到了 ff: 错误;

Warning: include_once(): Failed opening '../webdirectory/db/dbcon.php' for inclusion (include_path='.; E:\xampp\php\PEAR') in E:\xammp\htdocs\webdirectory\db\dbcon.php on line xx

我猜相对文件路径失败了;后续问题,这是否意味着我必须编辑脚本文件并将路径设置为绝对路径?我应该使用e:/xampp/htdocs/webdirectory/db/dbcon.php而不是使用../webdirectory/db/dbcon.php?在我看来是件坏事...

有人可以帮忙吗?

4

1 回答 1

1

将目录更改为脚本的位置,以使所有相对路径在从脚本目录外部执行时都能正常工作

cronjob.php

chdir(__DIR__);
include_once('../db/dbcon.php');
于 2012-10-03T13:12:32.797 回答