我有一个Cron作业设置每隔5分钟运行一次。 Cron的工作如下:
php /var/www/vhosts/default/htdocs/Mail-test/index.php
在index.php脚本的末尾有以下内容:
$path = $base_path . trim($row['company']) . '/Users/' . trim($row['name']) . '/Upload/';
$zip_processing_file = $path . 'zip.php';
require_once "zip_processing_file";
但是,当运行Cron作业时,我收到一条错误,指出= $zip_processing_file
/var/www/vhosts/default/htdocs/Mail-test/
的以下目录
我似乎无法弄清楚这个问题。我试过包括,但这给出了同样的问题。我开始工作的唯一方法就是放
header("location: $zip_processing_file");
然后从网络浏览器点击Mail-test/index.php
,然后它将循环整个过程,但我无法通过网络浏览器完成,我需要Cron工作才能工作。谢谢!
答案 0 :(得分:1)
提及 / var / www / vhosts / default / htdocs / Mail-test / 的错误消息似乎与$zip_processing_file
中存储的路径无关(其中包含{ {1}}和Users
)因此可能是一个单独的问题。
但是,Upload
问题可能是因为您的代码未插入require_once
变量。
变化:
$zip_processing_file
要:
require_once "zip_processing_file";
答案 1 :(得分:0)
最有可能你应该给出php的物理地址。
喜欢:'/ var / www /.... / zip_processing_file.php';
答案 2 :(得分:0)
因此,请遵循您的代码:
$path = $base_path . trim($row['company']) . '/Users/' . trim($row['name']) . '/Upload/';
$zip_processing_file = $path . 'zip.php';
你应该得到类似的东西(取决于$base_path
的内容:
/var/www/vhosts/default/htdocs/company/Users/name/Upload/zip.php
相反,你错了就是打印:
/var/www/vhosts/default/htdocs/Mail-test/
根据您的代码没有意义。
您需要确保$ zip_processing_file的内容包含您需要加载的PHP文件的FULL服务器路径。
header()
函数工作的原因是因为它可以采用Web根相对路径。在PHP中使用require()
或任何其他基于文件的操作时,它必须接收文档相对路径或服务器根路径。
答案 3 :(得分:0)
看起来你想要
require_once "/Mail-test/" . $zip_processing_file;