dokuwiki 中的插件导致 wiki 屏蔽图片

Plugin in dokuwiki causes wiki to block images

我写了一个自己的插件。 一切正常,除了 mediamanager。

如果我打开媒体管理器,我看不到任何缩略图。 如果我尝试上传一些新图片,apache 会崩溃。

经过一番试验,我发现是这段代码导致了错误:

如果你把这个放在

/lib/plugins/lfs/action.php

然后打开 mediamanager 并上传一张新图片到 wiki:

有人可以测试一下吗?有人看到我的错误了吗? 谢谢

<?php
/**
 * Example Action Plugin: Inserts a button into the toolbar
 *
 */
if (!defined('DOKU_INC')) die();

class action_plugin_lfs extends DokuWiki_Action_Plugin {
    // Register the eventhandlers
    function register(Doku_Event_Handler $controller) {
        $controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, 'insert_button', array ());
    }

    public function insert_button(Doku_Event $event, $param) {

        $event->data[] = array (
            'type'   => 'mediapopup',
            'title'  => 'Link zu Dateien auf dem Netzlaufwerk',
            'icon'   => '../../plugins/lfs/buttonlink.png',
            'url'    => '../lib/plugins/lfs/browser.php?useless=',
            'name'   => 'winsharelink',
            'options'=> 'width=750,height=500,left=20,top=20,scrollbars=yes,resizable=yes',
            'block'  => false,
        );

    }
} 
?>

更新 1:

使用的服务器:xamppWin10下的3.2.2(本地) PHP: 7.1.10 阿帕奇: 2.4.28.0 WIN32

今天,我尝试加载上传图片的缩略图或图片本身后,apache 没有崩溃。

但是还是不行。

这里有一张图片 WITH action.php 在 lib/plugins/lfs/ 下

然后,刚刚将 action.php 移出 lfs 文件夹并删除并重新上传 logo3.png:

更新 2:

不,我用 EasyPHP 测试过它。结果还是一样。

更新 3:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/dokuwiki/lib/plugins/lfs/action.php:1) in /var/www/html/dokuwiki/inc/actions.php on line 210

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/dokuwiki/lib/plugins/lfs/action.php:1) in /var/www/html/dokuwiki/lib/tpl/dokuwiki/main.php on line 12

问题已解决!!!

你永远不应该!!!!在您的代码文件中有身份:

|
|  <?php....
|

不同于

|
|<?php...
|

是!!!

有一些空间被发送到浏览器。因此 "header already sent error appears!"

妈的!如此愚蠢的错误使开发延迟了许多天和数周...