Cron作业未通过PHP脚本运行

Cron作业未通过PHP脚本运行,php,linux,cron,Php,Linux,Cron,首先,我已经构建了PHP脚本,当我在linux中设置它时,它可以作为cron作业运行,并且运行良好 我在脚本中所做的是写入一个文件,该文件没有完成,但通过终端中的CURL可以正常工作 示例(脚本中发生的第一件事): #/usr/bin/php 在fopen中尝试文件的绝对路径,或者使用chdir更改到正确的目录 #!/usr/bin/php <?php chdir('/home/user/'); $fp2 = fopen('FeedLog.csv', 'w'); fputcsv($fp2,

首先,我已经构建了PHP脚本,当我在linux中设置它时,它可以作为cron作业运行,并且运行良好

我在脚本中所做的是写入一个文件,该文件没有完成,但通过终端中的CURL可以正常工作

示例(脚本中发生的第一件事):

#/usr/bin/php

在fopen中尝试文件的绝对路径,或者使用chdir更改到正确的目录

#!/usr/bin/php
<?php
chdir('/home/user/');
$fp2 = fopen('FeedLog.csv', 'w');
fputcsv($fp2,array("Started Cron",date("F j, Y, g:i a"),0));
#/usr/bin/php

在fopen中尝试文件的绝对路径,或者使用chdir更改到正确的目录

#!/usr/bin/php
<?php
chdir('/home/user/');
$fp2 = fopen('FeedLog.csv', 'w');
fputcsv($fp2,array("Started Cron",date("F j, Y, g:i a"),0));
#/usr/bin/php

您需要指定Feedlog.csv文件的绝对路径。在cron下,脚本的工作目录将是运行脚本的用户的主目录,它很可能不是脚本文件所在的位置。如果是权限错误,您可以通过添加一些错误处理来检查它:
If(!$fp2){die(“无法打开文件”);}
尝试使用文件的绝对路径而不是相对路径。我有一个不同的想法,请确保php二进制文件/usr/bin/php可以通过crontab userHmm访问,这很有意义,稍后我会尝试,但是,如果无法打开文件,这不应该产生错误吗?我的意思是脚本将继续执行,直到完成。您需要指定Feedlog.csv文件的绝对路径。在cron下,脚本的工作目录将是运行脚本的用户的主目录,它很可能不是脚本文件所在的位置。如果是权限错误,您可以通过添加一些错误处理来检查它:
If(!$fp2){die(“无法打开文件”);}
尝试使用文件的绝对路径而不是相对路径。我有一个不同的想法,请确保php二进制文件/usr/bin/php可以通过crontab userHmm访问,这很有意义,稍后我会尝试,但是,如果无法打开文件,这不应该产生错误吗?我的意思是脚本将继续执行,直到完成。