Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 imagefill()导致';脚本头过早结束';_Php_Laravel_Laravel 3 - Fatal编程技术网

Php imagefill()导致';脚本头过早结束';

Php imagefill()导致';脚本头过早结束';,php,laravel,laravel-3,Php,Laravel,Laravel 3,我发帖是因为经过几个小时的搜索,我完全不知所措。事情是这样的。我的Laravel应用程序使用PHP Image Workshop捆绑包。一切似乎都很正常,除非我尝试进行resizeInPixel()调用或cropInPixel()调用(或类似调用),否则服务器会抛出一个内部服务器错误。如果我调查错误日志,我会看到: Premature end of script headers: index.php 这仅在我使用调整大小和裁剪相关方法(即图像处理)时发生。我可以initFromPath()没有

我发帖是因为经过几个小时的搜索,我完全不知所措。事情是这样的。我的Laravel应用程序使用PHP Image Workshop捆绑包。一切似乎都很正常,除非我尝试进行
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头(一个或多个,后面有一个空行),但未获取这些头。这可能是由以下几方面造成的:

  • 升级或降级到不同版本的PHP可能会在httpd.conf中留下剩余选项。在命令行上使用PHP-v检查PHP的当前版本,并在httpd.conf中搜索提及其他版本的任何行。如果找到它们,请注释掉,提取httpd.conf并重新启动apache

  • 如果脚本由于资源限制而被终止,则httpd.conf中的RLimitCPU和RLimitMEM指令也可能对错误负责。

  • suEXEC、mod_perl或其他第三方模块中的配置问题通常会干扰脚本的执行并导致错误。如果这些是原因,那么与细节相关的其他信息将在apache错误日志中找到

  • 如果suphp的日志大小达到2GB或更大,您可能会看到脚本头过早结束错误。查看日志包含的内容,并将其gzip或null。重新启动apache,然后处理SUPPP日志揭示的任何问题。suphp日志位于:/usr/local/apache/logs/suphp\u log

  • 脚本的权限也可能导致此错误。CGI脚本只能访问httpd.conf中指定的用户和组所允许的资源。在这种情况下,错误可能只是指出未经授权的用户正试图访问脚本
  • 更新:



    在评论中提供了更多信息之后,我仍然觉得这是一件与记忆有关的事情

    根据本SO维基:

    警告:图像功能非常占用内存。确保将内存限制设置得足够高


    你的PHP内存限制是多少?你能把它调高一点吗

    谢谢你的评论!我在httpd.conf中找不到RLimitMEM或RLimitCPU。有什么想法吗?作为旁注,我已经尝试显著增加网站上脚本的内存限制(通过php.ini),但这并没有影响错误。这是您自己的服务器吗?还是共享主机?另外,apache错误日志中发生了什么?有相关的细节吗?这是专门的托管服务。apache错误日志显示的是“脚本头过早结束”,因此不幸的是,它没有对这种情况给出太多说明。我仍然觉得这是一个内存问题。我补充了我的答案,伙计,真奇怪。对不起,我找不到你的答案。如果你真的发现了,请回来告诉我们。