我提前为发布此事道歉,但我搜索了论坛但仍无法找到答案。
我的PHP脚本创建一个csv并将其上传到另一个ftp服务器在浏览器中工作正常,但不能作为一个cron工作。 cron作业不断向我发送错误上传:",但是当我在浏览器上运行它时,一切正常,我得到了成功上传:"我无法解决这个问题。我是Godaddy fyi。
Cron Command:
*/2 * * * * /usr/bin/php5 -q -f /home/admin/public_html/cron.php
这是我的代码:
$file_name = $_SERVER["DOCUMENT_ROOT"].'/path_to/file.csv';
$output = fopen($file_name, 'wb');
$query = 'SELECT * FROM table';
$result = mysqli_query($con, $query);
while($column = mysqli_fetch_field($result)){
$columns[] = str_replace('_', ' ', $column->name);
}
fputcsv($output, $columns);
while ($field = mysqli_fetch_assoc($result)){
fputcsv($output, $field);
}
$fileName = 'local_file.csv';
$file = $_SERVER["DOCUMENT_ROOT"].'/path_to/'.$fileName;
$remote_file = '/path_to/remote_file.csv';
$ftp_server = "domain.com";
$ftp_conn = ftp_connect($ftp_server);
$ftp_user = 'username';
$ftp_pass = 'password';
ftp_login($ftp_conn,$ftp_user,$ftp_pass);
if(ftp_put($ftp_conn, $remote_file, $file, FTP_BINARY)) {
echo "Successfully Uploaded: $fileName.";
}
else {
echo "Error Uploading: $fileName.";
}
ftp_close($ftp_conn);
答案 0 :(得分:0)
cli php中没有$_SERVER["DOCUMENT_ROOT"]
。