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!"
妈的!如此愚蠢的错误使开发延迟了许多天和数周...
我写了一个自己的插件。 一切正常,除了 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!"
妈的!如此愚蠢的错误使开发延迟了许多天和数周...