用于PHP托管的PowerPC Linux机器总是抛出“Balloc()分配超出列表边界”错误

时间:2014-01-06 07:33:58

标签: php linux codeigniter powerpc

我在服务器上有一份Codeigniter框架

当我在服务器上运行代码时,它总是抛出以下错误

致命错误:Balloc()分配超出第92行/usr/local/apache/htdocs/project/system/core/Benchmark.php中的列表边界

我已经严格搜索了这个错误,我不确定但问题看起来与thread 1相同,因为在基准测试过程中涉及计算或者thread 2中提到的内存耗尽问题,因为性能原因,在up镜像htdocs /文件夹中的整个源代码时导致此服务器,htdocs /不是HDD上的空间而是内存空间。

以下是其他服务器详细信息

Web服务器= Apache / 2.2.22(Unix)

PHP版本= 5.4.3

请建议我寻找解决此问题的其他选择。

2 个答案:

答案 0 :(得分:0)

目前PHP是专为INTEL处理器设计的,目前PHP不支持交叉编译。 INTEL和ARM处理器都是小端的,PowerPC是BIG-ENDIAN ..我认为这就是你问题的原因..编译你的PHP时,为BIG端技术做准备(在PHP.ini文件中我认为有一个这样的选择)..

作为我的Strace调试分析,我看到PHP时间函数是问题的根源。

我希望它有所帮助......

答案 1 :(得分:-1)

检查上一条评论:https://bugs.php.net/bug.php?id=41951

我在目标设备上运行了一个测试程序,以确定int,long,size_t,ssize_t等的大小,并相应地修改了main / php_config.h。

我在运行configure时也设置了ac_cv_c_bigendian_php = yes php_cv_cc_rpath =“no”。根据您的目标系统架构,这可能会有所不同。