1

我有这个运行了很长一段时间的 php 脚本,但过了一段时间(由于浏览器停止加载页面时的限制),它停止执行代码。

基本上,它的作用是使用 API 获取 10000 篇文章,并将它们一一存储在我自己的数据库中。在循环了大约 1200 多篇文章后,谷歌浏览器的旋转/加载图标停止了,我得到的只是一个空白页面。当我检查数据库时,我可以在数据库中看到结果,但是脚本并没有按应有的方式遍历所有文章并且它停止了。

我知道从 CLI 运行会在停止加载时删除默认的浏览器时间限制,但我不知道如何从命令行调用 Laravel 中的某个控制器方法

4

3 回答 3

2

发出工匠命令。请参阅http://laravel.com/docs/commands上的文档

于 2013-10-25T13:28:12.377 回答
1

由于您实际上是在为数据库播种,因此一种快速而肮脏的方法是使用 db:seed 为您做这件事:

class MyTableSeeder extends Seeder {

    public function run()
    {

            // Do whatever you need to

    }

}

在 DatabaseSeeder 上启用它:

class DatabaseSeeder extends Seeder {

    public function run()
    {
        $this->call('MyTableSeeder');
    }

}

并执行它:

php artisan db:seed

一个更好的方法是创建一个 Artisan Command。这是我写的另一个答案来教如何创建它:选择日期为现在的所有行

于 2013-10-25T13:33:54.507 回答
0
  1. 从 Web 服务器中删除超时限制(主要来自配置文件)
  2. 用于set_time_limit(0)强制 PHP 无限期地执行您的代码。
于 2013-10-25T13:25:42.200 回答