1

我在 Nginx 和 PHP-FPM 之上运行 CodeIgniter 应用程序。

PHP 是在 ZTS 和 Pthreads 支持下手动编译的

我正在尝试使用 CLI 中的 cron (php spark task:run tasks) 从应用程序运行挂起的任务,并且每次都会收到此错误:

Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 3347974853963771560 bytes) in /home/nginx/domains/mydomain.com/app/Commands/Task.php on line 62

这是与错误相关的代码:

require APPPATH . 'Vendor/autoload.php';
    $UserId = $Task->task_destination;
    $ClientSettings = [
        'base_uri'  =>  'https://www.example.com',
        'cookies'   =>  $cookie_jar = new FileCookieJar(

LINE 62! APPPATH . 'Vendor/abc/app-php/sessions/' . $Account->account_username . '/' . $Account->account_username . '-cookies.dat',
            false
        )
    ];

当任务使用其多线程时,似乎存在一些与 pthread 相关的内存泄漏问题。

到目前为止我尝试解决的问题:

1) 我在 PHP CLI .ini 文件中设置了 2GB RAM 的内存限制

2)我尝试通过在 spark 命令之前运行 php -d memory_limit=2048M 来强制内存大小

3)我尝试直接在Codeigniter中更改内存

这真的令人沮丧,此时我什至不知道这是代码问题还是服务器端问题,有没有人知道可能出了什么问题?谢谢

4

0 回答 0