Download & Extend

PHP 5.4: all panel pages and nodes displaying empty

Project:Panels
Version:6.x-3.x-dev
Component:Miscellaneous
Category:bug report
Priority:major
Assigned:Unassigned
Status:closed (fixed)

Issue Summary

I'm in the process of updating some physical servers which use Windows 2008 R2 as their OS (due to software requirements of the WebApp being hosted) and as such they use the Uniform Server as their secured-for-production WAMP stack.

http://www.uniformserver.com/

Once I ported one such WebApp to its new server with the latest Uniform Server (version Coral 8.4.0), everything came up as expected with the only exception being all Panels Pages and Panels Nodes were empty. One such Panels Page that uses the rounded rectangle style for each of the blocks or Views it displays shows up with empty rounded rectangles.

Now, the blocks and Views in the Panels pages appear to be getting called because logic I have in the blocks is getting executed even though the Panels Pages appear empty.

The "only" difference between the version of these sites where Panels behaves normal and where the pages are empty are:

  • Updated PHP from version 5.3 to version 5.4
  • attempting to see if its fixed in a new version, the "bad" version is running Panels 6.x-3.x-dev 2012-Jan-21

I tested the pages in IE9 and Firefox 10.0.2, getting the same result. Reading a recent post here around a single column Panels display, I went and verified that the panels CSS is being loaded fine, and well as no javascript errors seem to be getting triggered...

I also have another version of the same site, on the same physical server, running a previous version of Uniform Server. That version's Panels Pages and Panels Nodes display fine...

I've attached a screen shot of one such empty Panels Page (the one that uses rounded rectangles for each block).

AttachmentSize
empty_panels.jpg14.16 KB

Comments

#1

Same seen here - seems to be PHP 5.4 specific. Working on finding the cause at the moment, and have it narrowed down to panels-pane.tpl.php not seeing the variables set as it expects.

#2

Title:all panel pages and nodes displaying empty» PHP 5.4: all panel pages and nodes displaying empty

Update title since the PHP version seems to be the issue.

#3

FWIW, I run 7.x-3.0 on a stack of LAM + PHP 5.4 without issues.

#4

Status:active» needs review

Got it. The definition of template_preprocess_panels_pane is wrong - it's missing the ampersand that is needed to make its argument be passed by reference.

[Edit: typo]

AttachmentSize
panels.module.diff 460 bytes

#5

Works for me...AND php 5.4 appears faster too!

#6

Status:needs review» reviewed & tested by the community

#7

Assigned to:Anonymous» merlinofchaos

#8

Assigned to:merlinofchaos» Anonymous
Status:reviewed & tested by the community» fixed

This was fixed yesterday in http://drupalcode.org/project/panels.git/commit/d3f1f074

#9

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

#10

Thanks, I recently upgraded to PHP5.4 and this was driving me crazy, since it didn't work but logged no PHP error

#11

Doesn't this bug warrant a new release? This is a show stopper for anyone using or planning to upgrade to PHP 5.4.

#12

Good catch with the & ampersand missing to change $vars to &vars and have it pass by reference.

#13

+1 for posting a new release!!

I've been banging my head against the wall for the past two days trying to figure out what's wrong here.
Thank you so much for pinpointing the problem so beautifully.

I have a website on a live environment and a local environment. I recently wanted to work on something locally when I found that all my panels are empty. In my search for the culprit, I'd found issues talking about a problem in "Default" style for panes, in combinations with Views Slideshow... etc.etc.etc. Eventually I found this post, that fixed the issue immediately with a single ampersand character.

Reasons for deploying a release immediately would be:

  1. The bug is HUGE - completely breaks all panels
  2. Easiest fix, that does actually solve all use-cases (that I've encountered, anyway)
  3. Unless you're specifically thinking ahead about problems that might occur from upgrading PHP versions - IT'S NOT EASY TO PICK UP ON THE REASON AND SEARCH FOR IT. In my case, for instance, my PHP version was automatically updated (using Linux and Update Center did the update for me), so the connection between this and the error was not at all obvious.

I believe this should be released ASAP.

#14

That bug gave me headache !

Please do poste a new release, I guess we're not 2-3 people facing that issue :)

#15

Thank you #4