所以我使用PHPExcel(http://phpexcel.codeplex.com/)导入Excel工作表。一切都在我的开发系统上工作正常,但它在现场系统上不起作用。
因此我调试并查看可能出错的地方。我到了一个点,我发现一个方法显然返回NULL,它应该返回一个对象。我查看了该方法,并var_dump()
编辑了方法中返回的var。 var是非空的
PSEUDO CODE:
class Bar()
{
function methodInAClass()
{
$test = new Foobar;
[...]
/* $test was an object here with a lot of data (var_dump()
* took around 100.000 lines in an editor) */
var_dump($test);
return $test;
}
}
$bar =& new Bar();
$test2 = $bar->methodInAClass(); //$test2 is NULL here
我做错了什么?这是来自php.ini的问题吗?
答案 0 :(得分:1)
更高的内存限制似乎解决了这个问题!
答案 1 :(得分:0)
我认为没有理由发生这种情况。除非你做了一些有趣的事情,否则你没有向我们展示,我没有看到你如何在没有本机调试器的情况下检查它,例如,你可以在对象的内容上放置数据断点。
顺便说一下,你没有理由做$bar =& new Bar();
而不是$bar = new Bar();
(在PHP5中);事实上,前者已被弃用。
答案 2 :(得分:0)
如果返回的实际对象(在这种情况下是这样),PHP不应该关心返回值有多大。更明确的细节可能会有所帮助,因为您引用的示例应该没有问题......我对PHPExcel有一定的了解。你用的是什么版本?你回来了什么对象? (IIRC库中没有Foobar对象)你在使用任何内存缓存吗?