Php imagefill()导致';脚本头过早结束';
我发帖是因为经过几个小时的搜索,我完全不知所措。事情是这样的。我的Laravel应用程序使用PHP Image Workshop捆绑包。一切似乎都很正常,除非我尝试进行Php imagefill()导致';脚本头过早结束';,php,laravel,laravel-3,Php,Laravel,Laravel 3,我发帖是因为经过几个小时的搜索,我完全不知所措。事情是这样的。我的Laravel应用程序使用PHP Image Workshop捆绑包。一切似乎都很正常,除非我尝试进行resizeInPixel()调用或cropInPixel()调用(或类似调用),否则服务器会抛出一个内部服务器错误。如果我调查错误日志,我会看到: Premature end of script headers: index.php 这仅在我使用调整大小和裁剪相关方法(即图像处理)时发生。我可以initFromPath()没有
resizeInPixel()
调用或cropInPixel()
调用(或类似调用),否则服务器会抛出一个内部服务器错误。如果我调查错误日志,我会看到:
Premature end of script headers: index.php
这仅在我使用调整大小和裁剪相关方法(即图像处理)时发生。我可以initFromPath()
没有问题,我可以使用save()
方法没有问题。只有图像处理方法会导致内部服务器错误
我也在网上读到,这可能是由于suphp\u日志
文件超过2GB造成的。我已经找到并清理了那个文件,但没有用
欢迎有任何想法!即使他们只是普通的“你试过了吗…”
更新
我已经把它缩小到图像工作室代码中的一行。此行导致错误:
imagefill($image, 0, 0, $color);
此外,此错误仅在使用
imagecolorallocatealpha
创建颜色时发生,而在仅使用imagecolorallocate
创建颜色时不会发生。目前有一些解决此问题的提示。我的钱在#2(见粗体文本)上,因为在进行图像处理时会出现错误:
有时在执行脚本时,您会看到类似以下错误:
脚本头过早结束:/home/directory/public\u html/index.php
发生此错误的原因是服务器需要一组完整的HTTP头(一个或多个,后面有一个空行),但未获取这些头。这可能是由以下几方面造成的:
在评论中提供了更多信息之后,我仍然觉得这是一件与记忆有关的事情 根据本SO维基: 警告:图像功能非常占用内存。确保将内存限制设置得足够高
你的PHP内存限制是多少?你能把它调高一点吗 谢谢你的评论!我在httpd.conf中找不到RLimitMEM或RLimitCPU。有什么想法吗?作为旁注,我已经尝试显著增加网站上脚本的内存限制(通过php.ini),但这并没有影响错误。这是您自己的服务器吗?还是共享主机?另外,apache错误日志中发生了什么?有相关的细节吗?这是专门的托管服务。apache错误日志显示的是“脚本头过早结束”,因此不幸的是,它没有对这种情况给出太多说明。我仍然觉得这是一个内存问题。我补充了我的答案,伙计,真奇怪。对不起,我找不到你的答案。如果你真的发现了,请回来告诉我们。