PHPExcel 不工作 php 5.2 AppServ
PHPExcel not working php 5.2 AppServ
我在 Windows 机器上的 AppServ 中使用 php 5.2.6,而 PHPExcel 似乎无法工作并且没有产生任何错误。我将 error_reporting 设置为 E_ALL。
在我的 Linux 机器上,我使用 php 5.6 并使用 vagrant/homestead 相同的代码工作得很好。
这是我的代码:
http://pastebin.com/6dJC8gaP
我添加了一些回声以查看它到底死在哪里,它似乎死在第 9 行。我认为这可能是 php 5.2 和 :: 引用的问题,所以我尝试使用call_user_func,它也适用于我的 php 5.6,但不适用于我的 php 5.2
http://php.net/manual/en/function.call-user-func.php
<?php
namespace Foobar;
class Foo {
static public function test() {
print "Hello world!\n";
}
}
call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // As of PHP 5.3.0
?>
每页:
引用:
在 PHP v5.2 中,您/可以/使用 call_user_func(array($this, 'parent::SOME_FUNCTION')).
如果您没有自定义 __autoload() 函数,您可以开始使用。
如果您确实有自定义 __autoload(),则需要使其“父级”知道。类似于:
基本原理:PHP 5.2 出人意料地尝试自动加载名为 'parent' 的 class。但是,如果您在 __autoload() 中不为 'parent' class 执行任何操作,它会正常工作。
在 PHPExcel/Settings.php 中有两个对 libxml_disable_entity_loader 函数的引用。
该功能在 php 5.2.11 之前不可用,它前面的 @ 导致静默错误。
我按照他们的建议做了,并将该函数包装在 function_exist 检查中。现在一切正常。
我在 Windows 机器上的 AppServ 中使用 php 5.2.6,而 PHPExcel 似乎无法工作并且没有产生任何错误。我将 error_reporting 设置为 E_ALL。
在我的 Linux 机器上,我使用 php 5.6 并使用 vagrant/homestead 相同的代码工作得很好。
这是我的代码: http://pastebin.com/6dJC8gaP
我添加了一些回声以查看它到底死在哪里,它似乎死在第 9 行。我认为这可能是 php 5.2 和 :: 引用的问题,所以我尝试使用call_user_func,它也适用于我的 php 5.6,但不适用于我的 php 5.2
http://php.net/manual/en/function.call-user-func.php
<?php
namespace Foobar;
class Foo {
static public function test() {
print "Hello world!\n";
}
}
call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // As of PHP 5.3.0
?>
每页:
引用:
在 PHP v5.2 中,您/可以/使用 call_user_func(array($this, 'parent::SOME_FUNCTION')).
如果您没有自定义 __autoload() 函数,您可以开始使用。
如果您确实有自定义 __autoload(),则需要使其“父级”知道。类似于:
基本原理:PHP 5.2 出人意料地尝试自动加载名为 'parent' 的 class。但是,如果您在 __autoload() 中不为 'parent' class 执行任何操作,它会正常工作。
在 PHPExcel/Settings.php 中有两个对 libxml_disable_entity_loader 函数的引用。
该功能在 php 5.2.11 之前不可用,它前面的 @ 导致静默错误。
我按照他们的建议做了,并将该函数包装在 function_exist 检查中。现在一切正常。