加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP内存因服务器而异

发布时间:2020-12-13 17:05:03 所属栏目:PHP教程 来源:网络整理
导读:我有一个沉重的 PHP脚本. 这么多,我不得不做 ini_set('memory_limit','3000M');set_time_limit (0); 它在一台服务器上运行良好,但在另一台服务器上我得到:848行/home/writeabo/public_html/propturk/feedgenerator/simple_html_dom.php内存不足(分配1653342
我有一个沉重的 PHP脚本.

这么多,我不得不做

ini_set('memory_limit','3000M');
set_time_limit (0);

它在一台服务器上运行良好,但在另一台服务器上我得到:848行/home/writeabo/public_html/propturk/feedgenerator/simple_html_dom.php内存不足(分配1653342208)(试图分配71个字节)

两者都在同一主机上的相同包中,但服务器不同.

以上问题解决了以下新问题的赏金

更新:脚本是如此之大,因为它生成一个站点并从252页解析数据,包括超过60,000个图像,它制作了两个副本.我已经把它分解成了几部分.

我现在有另一个问题.当我将图像从外部网站写入服务器时,如下所示:

try {
    $imgcont = file_get_contents($va); // $va is an img src from an array of thousands of srcs
    $h = fopen($writeTo,'w');
       fwrite($h,$imgcont);
       fclose($h);
    } catch(Exception $e) {
    $error .= (!isset($error)) ? "error with <img src='" . $va . "' />" : "<br/>And <img src='" . $va . "' />";
    }

突然之间它进入了一个500内部服务器错误页面,我必须再次这样做,此时它可以工作,因为文件只是复制它们尚不存在.无论如何,我可以收到500响应代码并将其发送回网址以使其再次运行?这是一个自动化过程吗?

解决方法

如果这是与内存相关的,我个人会使用copy()而不是file_get_contents().它以相同的方式支持文件包装器,我没有看到将整个文件加载到内存中只是为了将其写回文件系统有任何优势.

否则,您的error_log可能会为您提供有关500发生原因的更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读