dot*_*hen 1 php cron command-line-interface
考虑一个简单的PHP脚本:
$ pwd
/var/www/site/public_html
$ cat a.php
#!/usr/bin/php -q
<?php
echo "a: ".getcwd();
require_once('b.php');
?>
$ cat b.php
<?php
echo "b: ".getcwd();
?>
$ ./a.php > output
$ cat output
a: /var/www/site/public_html
b: /var/www/site/public_html
Run Code Online (Sandbox Code Playgroud)
然后我建立了一个简单的cron工作:
* * * * * /var/www/site/public_html/a.php > /var/www/site/public_html/output
Run Code Online (Sandbox Code Playgroud)
但是,这是cron运行后的输出:
$ cat output
a: /home/user
Run Code Online (Sandbox Code Playgroud)
路径已更改,require函数无法再找到要包含的脚本.令人沮丧的是,我有另一台服务器,cron作业确实保留了它的路径.我已经完成了配置选项,但无法弄清楚如何配置PHP以保持原始路径,即使作为cron作业运行.这是怎么做到的?
谢谢.
试试这个
$fileRoot = dirname(__FILE__);
require_once($fileRoot.DIRECTORY_SEPARATOR.'b.php');
/* considering b.php is in same directory */
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
488 次 |
最近记录: |