-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not working on Hogfather rc #5
Comments
I don't even get that much - upon update to Hogfather, I can no longer access my wiki at all, as the webserver (nginx) receives a fatal error from PHP and returns nothing but an empty page for all pages. From the webserver's error log (with identifying information censored): 2020/06/02 16:13:01 [error] 28576#28576: *274 FastCGI sent in stderr: "PHP message: PHP Fatal error: Declaration of syntax_plugin_columnlist::handle$($match, $state, $pos, &$handler) must be compatible with dokuwiki\Extension\SyntaxPlugin::handle($match, $state, $pos, Doku_Handler $handler) in /var/www/wiki/dokuwiki/lib/plugins/columnlist/syntax.php on line 0" while reading response header from upstream, client: XXX.XXX.X.XXX, server: XXXXX, request: "GET /dokuwiki/ HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "XXX.XXXX.XXX" |
I had a similar error with another plugin, removed the plugin folder and it started working again. It doesn't look like @dwp-forge has been active on github since 2016 so unlikely to be fixed. |
Content is displayed, but no columns and no alignment. One empty line after each column/row. Example code:
Log (warnings only):
|
The problem @gdighton is describing is not a Hogfather related problem but simply the result of PHP's stricter signature checking since 7.x. Signatures of the plugins need adjustment. @arlt's problem is indeed a problem, however I have no idea why those constants shouldn't be defined. They still exist in Hogfather. |
@splitbrain, now I got you where I want you ;) I saw this issue months ago but I was waiting for release to see if it will get resolved somehow. Actually, I expected that lots of syntax plugins will be affected by it, but apparently I do something not according to the book even though I pretty much follow the skeleton (BTW, it's time to update the deprecated require_once). The thing is that before refactoring syntax plugins would require Now in our new shiny auto-load land I can work it around by explicitly requiring Any thoughts on that? |
As described in dwp-forge/columns#5 (comment) sometime the Lexer constants have not been (auto)loaded when a syntax plugin is invoked (I'm not sure why). In general PSR2 discourages a mix of main code and function/class setup with the call to define() being considered main code. This patch moves these the define calls to a separate new file, solving both of the above problems. These are not all our defines. Instead I focused on the ones that are ENUM-like. In the future we should think about what defines can be replaced by class constants and what other define() calls should be moved.
Still not working on latest RC due to the signature issue. @splitbrain claims this is a php issue, but php version is the same whether I'm using Greebo or Hogfather, and it's only a fatal error on Hogfather: $ php --version |
Fixed upstream in Hogfather RC3. |
@gdighton, I tested on PHP 7.2 and that seem to work fine. Based on my analysis of the issue and the way it was addressed in RC3 it looks to me that the problem should be properly fixed. Unless someone else will be able to reproduce it, I would assume there's some local problem on your setup. If you feel like debugging it, you could check which files are included before you run into the problem. Per my understanding, new file
|
Unfortunately, going back to PHP7.2 is not an option. RC3 might have fixed the "Use of undefined constant" warnings, but it hasn't fixed the "Declaration of syntax_plugin_columnlist::handle$($match, $state, $pos, &$handler) must be compatible with dokuwiki\Extension\SyntaxPlugin::handle($match, $state, $pos, Doku_Handler $handler)" issue. |
But that's a different issue, right? ;) |
According to the Extension Manager, I am using the latest (and I installed the plugin less than a year ago.) Plugin.info.txt says: |
That looks good. Now what about plugin name in your problem report? Let's make sure it's named "columns" and not something else. Like "columnlist" or something ;) |
@splitbrain @dwp-forge fixed with RC3 |
@dwp-forge Ah, dang - looks like I misread it way back when... Now I have to find their github page :-) |
Updated my wiki to the Hogfather release candidate and my columns are no longer columns. They wrap under each other.
The text was updated successfully, but these errors were encountered: