Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP脚本突然输出X字节大小的内存耗尽_Php_Curl - Fatal编程技术网

PHP脚本突然输出X字节大小的内存耗尽

PHP脚本突然输出X字节大小的内存耗尽,php,curl,Php,Curl,我整天都在运行这个脚本,没有出现任何问题。脚本正在将图像转换为JPG。大约有6000张图片。到目前为止,脚本将在停止之前处理大约50个图像。当它停止时,我只是再次运行脚本。到目前为止,它已经完成了大约2000张图片,但现在我突然记忆犹新 $thumb = imagecreatetruecolor($newWidth, $newHeight); $source = imagecreatefromjpeg($file); 这是在错误日志中获取输出的行。我不能再运行脚本了 我已尝试重新启动整个服务器

我整天都在运行这个脚本,没有出现任何问题。脚本正在将图像转换为JPG。大约有6000张图片。到目前为止,脚本将在停止之前处理大约50个图像。当它停止时,我只是再次运行脚本。到目前为止,它已经完成了大约2000张图片,但现在我突然记忆犹新

$thumb = imagecreatetruecolor($newWidth, $newHeight);
$source = imagecreatefromjpeg($file);
这是在错误日志中获取输出的行。我不能再运行脚本了

我已尝试重新启动整个服务器,但它尚未修复该问题。我还尝试在php.ini中将最大内存从128mb增加到512mb,但没有效果。该脚本一直运行良好,直到现在,它不工作


脚本正在运行一些curl请求,然后生成图像并更新一些数据库表。这是一个相当大的处理脚本,但它到目前为止没有错误

这是您不想在生产环境中使用的东西,但通常对我来说,这是消耗内存的一次性操作的诀窍

ini_set('max_execution_time', -1);
ini_set("memory_limit",-1 );

这个脚本是通过命令行运行的,还是通过HTTP请求运行的?我是通过命令行使用wget运行的。在您使用的任何web服务器中都可能存在内存限制,这些限制覆盖了PHP想要使用的任何内容。另外,您是否重新启动了Web服务器?我认为配置更改在您执行之前不会生效。您是否检查了导致此问题的映像?记住,GD将把图像解压缩为ram中的原始位图。如果一个50000 x 50000的图像滑入系统,您将需要约7G的ram将原始位图存储在内存中。此目录中可能有一些4K大小的图像。但是我没有访问权限。我试了一下,但没用。有没有什么方法可以让我尝试处理图像,如果它遇到内存问题,则捕获错误而不是崩溃?嗯,现在可以了,但我不喜欢这个脚本最终接管整个系统的想法。是什么导致它突然需要这么多内存?几分钟前我还可以使用128mb?允许php使用它需要的内存量不应该是一个解决方案。查找导致内存泄漏的代码应该是一种方法,这就是为什么我提到它可以用于一次性操作,但对于生产环境来说不是真正的解决方案。