No diagnostics, simply does not display anything.
Big inconvenience for me, as I make massive use of Link Node, and have moved a client site from a development machine with PHP5.2.x to a production server with PHP 5.3.0.
Grateful for feedback/fix.
No diagnostics, simply does not display anything.
Big inconvenience for me, as I make massive use of Link Node, and have moved a client site from a development machine with PHP5.2.x to a production server with PHP 5.3.0.
Grateful for feedback/fix.
Comments
Comment #1
webel commentedPossibly related:
Comment #2
webel commentedComment #3
TomChiverton commentedWorks for me with "php-5.3.2-1.fc12.x86_64" (my live server).
Could you have an invalid node ID or something ?
Comment #4
webel commented> Works for me with "php-5.3.2-1.fc12.x86_64" (my live server).
Then maybe something else has changed when moving to my production server, if it is not a PHP5.3.0 specific problem [Edit: it almost certainly is, see below]
> Could you have an invalid node ID or something ?
No. I have the exact same site (same database) running on 2 other machines, both with PHP5.2.x, one remote, one local on Mac OS X, and both have Link Node references displayed correctly, for hundreds of nodes.
Comment #5
webel commentedvs Drupal-6.15
includes/theme.inc: 617
I switched on Devel module and using
dpm($var,name=null)I stepped throughlink_node_filter_process($text, $show_error_msgs=1). The nid is extracted correctly from [node:nid], however (with warning message given above)theme_link_node_thumbnail(&$node)is never entered at:so
$matches_html[$key]ends up empty.Then [node:nid] gets replaced with empty at:
It is broken vs PHP5.3.0 [Edit: almost certainly specifically, and also PHP5.3.1, see below]
Comment #6
webel commented@TomChiverton
It may be due to a bug in PHP5.3.1 (and presumably also PHP5.3.0), whereas you are using "php-5.3.2". Relevant links:
From http://stackoverflow.com/questions/2045875/pass-by-reference-problem-with-php-5-3-1:
Sorry to take your time with this, I don't have the option of upgrading PHP on my production server right now. Could you please investigate the above and consider whether you can implement the interim solution.
This will likely affect a lot of people using Mac OS X Leopard server.
Comment #7
webel commentedNow I'm really confused (and frustrated). According to http://bugs.php.net/bug.php?id=50394:
Bug #50394 Reference argument converted to value in __call
But I am getting the error with PHP5.3.0, not PHP5.3.1 !
Comment #8
webel commentedI tried above test on my production server with PHP5.3.0 and got for the mini test:
So I now don't understand how in includes/theme.inc: 617:
This could be failing to correctly pass $args to:
Comment #9
webel commentedFrom Drupal-6-15 theme.inc (adapted to debug):
Comment #10
TomChiverton commentedMy suggestion would be to upgrade PHP on your servers, this looks like a big bug in earlier 5.3 releases.
No one else appears to have run into it, which makes you lucky I guess.
Comment #11
webel commented@TomChiverton
I wrote:
> I don't have the option of upgrading PHP on my production server right now.
Well for now on the one production server I'm simply hacking out the themed call, so that:
Becomes:
And then
$output = call_user_func_array($info['function'], $args);is avoided (at least by Link Node) - although I fully expect to hit this problem again in similar form later this saturday afternoon, as I work through a dozen more contributed modules breaking against PHP5.3.0.Thanks for your input.
Comment #12
umina commentedI'm running PHP version 5.3.2-2 and I get the following errors, about 20 of them:
# warning: Parameter 1 to theme_link_node_thumbnail() expected to be a reference, value given in /var/www/html/drupal/includes/theme.inc on line 656.
# warning: Parameter 1 to theme_link_node_thumbnail() expected to be a reference, value given in /var/www/html/drupal/includes/theme.inc on line 656.
# warning: Parameter 1 to theme_link_node_thumbnail() expected to be a reference, value given in /var/www/html/drupal/includes/theme.inc on line 656.
# warning: Parameter 1 to theme_link_node_thumbnail() expected to be a reference, value given in /var/www/html/drupal/includes/theme.inc on line 656.
# warning: Parameter 1 to theme_link_node_thumbnail() expected to be a reference, value given in /var/www/html/drupal/includes/theme.inc on line 656.
The site works on another older system with no trouble.
/Len
Comment #13
TomChiverton commentedWFM, sorry.
Please carry on digging- if you get to the bottom of it I'll certainly look at it.
If they are only warnings, and Link Node otherwise works fine, I suggest you just turn down the logging.
$ rpm -q php
php-5.3.2-2.fc12.x86_64
Comment #14
TomChiverton commentedOK, it looks like from #808250 this might be real.
Sorry guys, not sure what is up, but there is a work around at http://drupal.org/node/772894#comment-3015910
Please watch that bug.
Comment #15
TomChiverton commented1.3 BETA1 released, contains patch for this issue http://drupal.org/node/182812/release