Search

Hi,

I'm new to Symphony. In fact, I have encountered this issue wile following the "Hello World" tutorial to understand how it works :)

In the third step of the tutorial, when I tried creating a new data source, Symphony returned me a blank page. Checked the log and found the error:

66.999.999.999|Sat 28 Jul 2012 17:01:13 +0300|/path/to/symphony-root/index.php|PHP message: PHP Fatal error: Call-time pass-by-reference has been removed in /path/to/symphony-root/symphony/content/content.blueprintsdatasources.php on line 839

After a quick search through the forum, found out that it is related to PHP 5.4 and I need to remove the ampersands on function calls. So, I've changed the line 839 from;

call_user_func(array($providerClass, 'buildEditor'), $this->Form, &$this->_errors, $fields, $handle);

to

call_user_func(array($providerClass, 'buildEditor'), $this->Form, $this->_errors, $fields, $handle);

After this change, error re-occurred on line 1040. I've also fixed it from;

call_user_func(array($providerClass, 'validate'), &$fields, &$this->_errors);

to

call_user_func(array($providerClass, 'validate'), $fields, $this->_errors);

Symphony seems to work normally after these changes, but I'm not a programmer and I'm in doubt that my changes can count as fixes :)

Just wanted to let you know the issue.

They can count as fixes, and we will be adding those exact fixes and more to the core soon. There's just too much on the plate already right now.

PHP 5.4 support will come very soon...

PHP 5.4 support will come very soon...

Although it seem to work perfectly, can't say that I have discovered all of the features :) Would love to see that.

Thanks.

This error originates from using call_user_func because PHP 5.2 does not support late static binding, which is available in PHP 5.3. Prior to PHP 5.4, one could pass call_user_func params by reference, but now doing so throws a warning in PHP 5.4 (which is what you are seeing).

Below is a quote from the PHP manual about it:

Before PHP 5.4, referenced variables in param_arr are passed to the function by reference, regardless of whether the function expects the respective parameter to be passed by reference. This form of call-time pass by reference does not emit a deprecation notice, but it is nonetheless deprecated, and has been removed in PHP 5.4.

I'll fix this up for Symphony 2.3.1

Thanks for the detailed description of the issue. Is there an ETA for v2.3.1?

Final release before September, we're actually running behind schedule as it was scheduled for release about now :(

This commit contains the fix for this issue however if you need to patch your installation beforehand.

This commit contains the fix for this issue however if you need to patch your installation beforehand.

Will do that, appreciated.

Although the server requirements mention "PHP 5.2 or above". I thought I'd asked about Symphony 2.3's compatibility with PHP 5.4.6 (Dotdeb). Found this thread, but the fix mentioned also raises other questions : When I apply brendo's commit, is it possible to use Symphony 2.3 on PHP 5.4.6 in a production environment ? Or are there more problems, and should I better wait for v2.3.1 ?

Cheers

I would wait for the official notice that 5.4 is supported.

Ah, OK. Expected that more or less. I'm going to reschedule. Thanks.

If it's an urgent project, Soario is now around for agency support, and could sort out a PHP 5.4 usable version for you?

At this time we are not aware of any PHP5.4 issues with the current integration branch (aka 2.3.1 Beta 2). This release should be live by months end

No worries. It's not for an urgent project.

I just finished a project 3 weeks earlier than estimated. This project required a lot of XMLHttpRequests, RESTful processing, and RSS/Atom feeds creation, consumption, and reformatting to other formats. And I just wanted to schedule these 3 weeks to redo just the core of the project with Symphony and some of the existing project code. And maybe present it as an alternative to the client, where they (before I was even involved) actually preferred a CMS. But they burned their fingers with the combination Debian 6, Nginx, and PHP 5.4.6 which gave a lot of problems with other CMS systems they had evaluated, before granting me the project. But they also decided to not "downgrade" their installation (in their own words).

For myself I wanted to find out whether Symphony (as a combination of CMS and hand coding), would do better than a per project layout with 100% hand coding of the front and back end (plus Zend Feed as only external helper). Also to find out how much of the hand coding and debugging Symphony can eliminate.

But I can do this easily at a later time. I still want to find out. I will just start early on some other projects, making some other clients happy/ier.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details