相关疑难解决方法(0)

致命错误:允许的内存大小为134217728 Bytes Exhausted(CodeIgniter + XML-RPC)

我有一堆客户销售点(POS)系统,它定期将新的销售数据发送到一个集中数据库,该数据库将数据存储到一个大数据库中以生成报告.

客户端POS基于PHPPOS,我已经实现了一个使用标准XML-RPC库将销售数据发送到服务的模块.服务器系统基于CodeIgniter构建,并使用XML-RPC和XML-RPCS库作为Web服务组件.每当我发送大量销售数据(销售表中只有50行,以及sales_items中与销售中每个项目相关的各行)时,我会收到以下错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
Run Code Online (Sandbox Code Playgroud)

128M是默认值php.ini,但我认为这是一个很大的数字.实际上,我甚至尝试将此值设置为1024M,而它所做的只是花费更长的时间来输出错误.

至于我采取的步骤,我已经尝试禁用服务器端的所有处理,并且已经操纵它以返回固定响应而不管输入如何.但是,我认为问题在于实际发送数据.我甚至尝试禁用PHP的最大脚本执行时间,但它仍然出错.

php memory codeigniter xml-rpc memory-limit

587
推荐指数
21
解决办法
132万
查看次数

允许的X字节内存大小耗尽

致命错误:允许的内存大小为67108864字节耗尽(尝试分配13965430字节)

PHPInfo显示我有一个128M的memory_limit,所以我很困惑为什么错误说我只有64M.phpinfo是否可能报错?或者为PHP使用两个单独的php.inis?

该错误是由我的一个同事在我不知情的情况下添加的一个主要php文件中的ini_set调用引起的.

php memory memory-management out-of-memory memory-limit

39
推荐指数
4
解决办法
10万
查看次数

Laravel中允许的内存大小为536870912字节

在同一个系统中,我可以调用db,并且没有问题,但在某些情况下(使用最大的表),我得到了

"  SELECT partidascapturainfo.* FROM partidascapturainfo    WHERE partidascapturainfo.partidascapturainfoid IS NOT NULL       ORDER BY partidascapturainfoid asc   LIMIT  0 , 10 "
Run Code Online (Sandbox Code Playgroud)

我调试了代码,问题是一个基本的查询:

123044,42016,249,3762,2,,0
123045,42016,249,3761,2,,0
123046,42016,249,3764,1,,0
123047,42016,249,3765,,,0
123048,42016,249,3775,,,0
123049,42016,249,3771,3,,0
123050,42016,249,3772,3,,0
123051,42016,250,3844,HAY,,0
123052,42016,255,3852,,,0
123053,42017,249,3761,1,,0
Run Code Online (Sandbox Code Playgroud)

当我在Mysql客户端中运行查询时,查询运行在0.17s

我已经将memory_limit设置为2048,重新启动nginx并且我的查询只返回10行...

这是我的10行:

"  SELECT partidascapturainfo.* FROM partidascapturainfo    WHERE partidascapturainfo.partidascapturainfoid IS NOT NULL       ORDER BY partidascapturainfoid asc   LIMIT  0 , 10 "
Run Code Online (Sandbox Code Playgroud)

有什么想法发生了什么?

laravel

30
推荐指数
3
解决办法
9万
查看次数

symfony中的内存不足错误

我目前正在研究Symfony项目(const VERSION ='2.5.10'),我正在使用xampp.PHP版本是5.5.19.

我的问题是每次运行我的开发环境时都会出错:

OutOfMemoryException:错误:在C:\ xampp\htdocs\Editracker\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Profiler\FileProfilerStorage.php第153行中,允许的内存大小为1073741824字节耗尽(尝试分配3358976字节)

每次刷新页面时,它都会提供不同的内存大小.我也认为这也是我的开发环境在刷新页面之前花费时间的原因.

非常感谢您的帮助.

php.ini中

memory_limit ='256M'

我试图增加内存限制,但它仍然给出了有关内存限制的错误

php out-of-memory symfony

13
推荐指数
2
解决办法
3万
查看次数

致命错误:允许的内存大小为134217728字节耗尽(试图分配71个字节)

可能重复:
PHP中允许的内存大小为33554432字节(尝试分配43148176字节)

嗨,

在我的php页面中,我得到如下错误,

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) 
Run Code Online (Sandbox Code Playgroud)

我尝试使用设置内存限制 ini_set('memory_limit', '128M');

但我仍然得到错误.

任何帮助将非常感激.

php memory

7
推荐指数
1
解决办法
5万
查看次数

在PHP中通过SFTP传输大文件

我有一个大文件(200 MB以上).我需要通过PHP cron job转移它.使用Phpseclib会出现以下错误:

/app/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php中允许的内存大小为134217728个字节(尝试分配4133个字节)

有没有办法可以做到这一点PHP cron job

代码很简单,其中$ localFile是一个已经存在的CSV文件

$sftp->put('/Import/coupons/coupons_import_test.csv', $localFile, NET_SFTP_LOCAL_FILE);
Run Code Online (Sandbox Code Playgroud)

PS.这需要PHP/tmp文件夹中生成该文件后完成,因此传输脚本的时间必须发挥作用.

[编辑]我不打算增加内存限制,因为以后的文件可能会更大.我可以部分传输文件(附加模式)或使用PHP cron的一些shell脚本的解决方案是值得的

远程服务器上的文件大小为111.4 MB,而本地实际文件大得多.

[修复后编辑]从版本1.0更改为版本2.0.2后问题消失我必须修改put的代码

$sftp->put('/Import/coupons/coupons_import.csv', $localFile, $sftp::SOURCE_LOCAL_FILE);
Run Code Online (Sandbox Code Playgroud)

php cron sftp net-sftp phpseclib

7
推荐指数
1
解决办法
1138
查看次数

致命错误:允许的内存大小为134217728字节耗尽(试图分配32个字节)

可能重复:
PHP中允许的内存大小为33554432字节(尝试分配43148176字节)

执行代码时出现以下错误.

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)
Run Code Online (Sandbox Code Playgroud)

尝试过ini_set('memory_limit', '128M');,但没有奏效.我的php.ini文件中的内存限制为128MB.请求帮助.

我正在添加代码.我是php新手,请帮助我解决这个问题.

<?php
require_once 'lib/swift_required.php';
$hostname = '{imap.abc.com:993/imap/ssl}INBOX';
$username = 'username';
$password = 'password';

$connection = imap_open($hostname,$username,$password) or die('Cannot connect to Tiriyo: ' . imap_last_error());
    ini_set('memory_limit', '256M');


function Message_Parse($id)

{

global $connection;

    if (is_resource($connection))
    {
        $result = array
        (
            'text' => null,
            'html' => null,
            'attachments' => array(),
        );


                $structure = imap_fetchstructure($connection, $id, FT_UID);
        //print_r($structure);
//array_key_exists — Checks if the …
Run Code Online (Sandbox Code Playgroud)

php

6
推荐指数
2
解决办法
11万
查看次数

在写入xml文件时,允许的内存大小为67108864字节(尝试分配4459414字节)

可能重复:
PHP中允许的内存大小为33554432字节(尝试分配43148176字节)

我在这里看到过类似的问题,但我的情况完全不同.我正在从数据库中读取并写入xml文件.我收到这个错误

<b>Fatal error</b>:  Allowed memory size of 67108864 bytes exhausted (tried to allocate 4459414 bytes) in <b>.../public/home/..</b> on line <b>32</b><br />.
Run Code Online (Sandbox Code Playgroud)

应该是什么解决方案?我是否增加了代码中的内存大小?有帮助吗?

php xml

4
推荐指数
1
解决办法
2万
查看次数

如何使用PHP顺序解析大型XML文件

我正在尝试使用simpleXML在php中解析一个中等大小的XML文件(6mb).该脚本从XML文件中获取每条记录,检查它是否已经被导入,如果没有,则将该记录更新/插入到我自己的数据库中.

问题是我经常遇到超出内存分配的致命错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 256 bytes) in /.../system/database/drivers/mysql/mysql_result.php on line 162
Run Code Online (Sandbox Code Playgroud)

我通过使用以下行来增加最大内存分配来避免该错误(从此处开始提示):

ini_set('memory_limit', '-1');
Run Code Online (Sandbox Code Playgroud)

然而,然后我遇到60秒的最大执行时间,并且,无论出于何种原因,我的服务器(Mac OS X上的XAMPP)都不会让我增加那个时间(如果我尝试包含脚本,脚本就不会运行像:)这样的一行

set_time_limit(240);
Run Code Online (Sandbox Code Playgroud)

然而,这一切似乎都非常低效; 我不应该能够打破文件的顺序并按顺序处理它吗?在下面的控制器中,我有一个计数变量($ cycle)来跟踪我所在的记录,但我无法弄清楚如何实现它仍然不需要处理整个XML文件.

控制器(我正在使用CodeIgniter)具有以下基本结构:

    $f = base_url().'data/data.xml';
    if($data = file_get_contents($f))
    {
        $cycle = 0;
        $xml = new SimpleXMLElement($data);
        foreach($xml->person as $p)
        {

        //this makes a single call to db for single field based on id of record in XML file                
        if($this->_notImported('source',$p['id']))
            {
               //various process here, mainly breaking up the data …
Run Code Online (Sandbox Code Playgroud)

php xml memory-management

0
推荐指数
1
解决办法
5407
查看次数