PHP从命令行…path问题

我不是一个真正的pipe理员,需要一些帮助build立一个cron,实际上从命令行首先调用一个PHP脚本。

我有一个PHP5脚本,我需要在以下位置运行:

/var/www/apps/myapp/services/myservice.php

在为此设置一个cron之前,我想要手动testing,如下所示:

php /var/www/apps/myapp/services/myservice.php 

这没有任何结果。 我可以确认那个脚本没有运行。 也没有错误。 但是,如果我cd进入目录,然后调用脚本:

 cd /var/www/apps/myapp/services php myservice.php 

它可以工作,正如我可以从该脚本的日志文件中看到的那样。 它必须是令人难以置信的简单的东西,我忽略了,但是我怎样才能从命令行中一次性调用PHP脚本,而不必先进入目录?

PS:我在Debian Edge上使用Apache2和PHP5。

转到http://www.php.net/manual/en/features.commandline.php并阅读bulletpoint / info,它说:“CLI SAPI不会将当前目录更改为执行脚本的目录! 这可能是你得到错误的原因。

它应该工作,如果你使cron cd进入你的服务目录,然后运行这样的应用程序:

01 * * * * myuser cd / var / www / apps / myapp / services; / usr / bin / php /var/www/apps/myapp/services/myservice.php

你有没有检查,以确保没有别名到PHP导致这种行为?

做一个从命令提示符来找出php的位置,然后修改你的cron条目调用<path to php>/php /var/www/apps/myapp/services/myservice.php