0

我对这个小例子的 PECL::Runkit 有疑问

index.php contain <?php
runkit_import('a.php');
runkit_import('b.php');
Doublon::get();

a.php 和 b.php 每个都包含相同的代码

class Doublon
{
static function get() { echo "class " . __FILE__; }
}

在我的电脑(Windows XP、Wampserver 2、php 5.2.9-2、与 Wamp 捆绑的 runkit DLL)上它可以工作并且 index.php 显示

class C:\wamp2\www\utilitaires\essais\runkit\b.php

在我的 Linux CentOS 5 服务器上,PHP 5.2.10,手动编译的 Runkit

Warning: runkit_import() [function.runkit-import]: class doublon not
found in /shares/public/cedric/test/index.php on line 2
Warning: runkit_import() [function.runkit-import]: Cannot redeclare
class doublon in /shares/public/cedric/test/index.php on line 2
Warning: runkit_import() [function.runkit-import]: class doublon not
found in /shares/public/cedric/test/index.php on line 3
Warning: runkit_import() [function.runkit-import]: Cannot redeclare
class doublon in /shares/public/cedric/test/index.php on line 3
Fatal error: Class 'Doublon' not found in
/shares/public/cedric/test/index.php on line 4

一个问题:runkit 的 make test 给我 100% 的测试失败,但我仍然不知道为什么。来自 linux 发行版的 runkit 版本只会使 Apache 崩溃: PHP 启动:时区数据库已损坏

我放弃了xdebug,回到php 5.2.9,但是错误是一样的

在此先感谢,塞德里克

4

2 回答 2

1

包裹网站说:

WARNING: 0.9 does not compile with PHP 5.2+ so use the CVS version instead.

您使用的是 CVS 版本吗?

于 2009-07-10T00:34:49.457 回答
0

最新的 runkit 扩展可以在http://github.com/zenovich/runkit找到

无论如何,据我所知,runkit 从来没有在导入时定义新类的功能。它只能添加或更改现有类的成员。如果你真的想要这个,你可以在http://github.com/zenovich/runkit打开功能请求

要确定您在平台上得到不同结果的原因,我需要知道它们的 runkit 和 PHP 版本。您可以使用命令“php -i”获取所有信息。

于 2012-09-08T21:17:07.277 回答