用于PHP托管的PowerPC Linux机器始终抛出;Balloc()分配超出列表边界;错误

用于PHP托管的PowerPC Linux机器始终抛出;Balloc()分配超出列表边界;错误,php,linux,codeigniter,powerpc,Php,Linux,Codeigniter,Powerpc,我在服务器上有一个Codeigniter框架的副本 当我在服务器上运行代码时,它总是抛出以下错误 致命错误:Balloc()分配超出了第92行/usr/local/apache/htdocs/project/system/core/Benchmark.php中的列表边界 我已经在谷歌上搜索了这个错误,我不确定,但问题看起来是一样的,因为在基准测试过程中涉及到计算,或者内存占用问题,如中所述,由于性能原因,当服务器向上镜像htdocs/文件夹中的整个源代码时,htdocs/不是硬盘上的空间,而是内

我在服务器上有一个Codeigniter框架的副本

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

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

我已经在谷歌上搜索了这个错误,我不确定,但问题看起来是一样的,因为在基准测试过程中涉及到计算,或者内存占用问题,如中所述,由于性能原因,当服务器向上镜像htdocs/文件夹中的整个源代码时,htdocs/不是硬盘上的空间,而是内存空间

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

Web服务器=Apache/2.2.22(Unix)

PHP版本=5.4.3


请向我推荐其他解决此问题的方法。

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

在我的Strace调试分析中,我发现PHP时间函数是问题的根源


我希望它能有所帮助……

查看最后一条评论:

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

在运行configure时,我还设置了ac_cv_c_bigendian_php=yes php_cv_cc_rpath=“no”。这可能因您的目标系统体系结构而异。

可能相关。