首页 > 解决方案 > Cronjob 没有足够的时间来编写 php 脚本?

问题描述

我使用 php 来更改 csv 的一些内容。如果我在浏览器中调用脚本,它到目前为止有效。但是如果我通过 vronjob 运行它,它不会写入整个文件,而只会写入 csv 的一小部分。那么 cron 有没有可能没有足够的时间来完成整个工作呢?

使用此代码,我得到了 csv 并在其中更改了一些内容:

<?php
ini_set('display_errors',1); error_reporting(E_ALL);
set_time_limit(60);


$row = 0;
$fp = fopen('changed-stock.csv', 'w');
if (($handle = fopen("https://www.xxx.de/xxx/bestand.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 90000000, ";")) !== FALSE) {
        $data[9] = str_replace(['0.00', '1.00', '2.00', '3.00', '4.00', '5.00', '6.00', '7.00', '8.00', '9.00', '10.00', '11.00', '12.00', '13.00', '14.00', '15.00', '16.00', '17.00', '18.00', '19.00', '20.00'],
            ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'], $data[9]);

        fputcsv($fp, $data);
    }
}
fclose($fp);

?>

在我的另一个项目的旧文件中,我有

...$handle, 90000000,...

有 20000 但我将其增加到 90000000 因为可能还不够?

我的 Cron 看起来像这样:

01 * * * * /usr/bin/wget -q http://xxx.de/csvread/xx/change-stock.php

因此,如果 io cun 这个 php 在浏览器中,我新编写的 csv 文件为 628 KB,如果相同的脚本从 cron 运行,则只有 133 KB。

Cronlog 没有显示错误。我希望有一个人可以帮助我。

标签: phpcron

解决方案


推荐阅读