Web lists-archives.com

[PHP] Weird error with PHP7: Cannot access property


I’m working on a PHP software, FusionDirectory.
It works fine with PHP 5 but I’m getting strange errors with PHP-7.
As far as I know it does not use anything that is mentionned in the migration guide.

I get this error:
Uncaught Error: Cannot access  property filter::$initial in /usr/share/fusiondirectory/include/class_filter.inc:425
Stack trace:
#0 /usr/share/fusiondirectory/include/class_listing.inc(639): filter->query()
#1 /usr/share/fusiondirectory/include/class_management.inc(221): listing->update()
#2 /usr/share/fusiondirectory/include/simpleplugin/class_simpleManagement.inc(411): management->renderList()
#3 /usr/share/fusiondirectory/include/class_management.inc(216): simpleManagement->renderList()
#4 /usr/share/fusiondirectory/plugins/admin/departments/main.inc(47): management->execute()
#5 /usr/share/fusiondirectory/html/main.php(283): require('/usr/share/fusi...')
#6 {main}

But initial is a var of filter, I really don’t see why is couldn’t be accessed: https://git.fusiondirectory.org/gitweb/?p=main/fusiondirectory.git;a=blob;f=include/class_filter.inc;h=aac3ec5e8c7e7ab098f3ea0a867526571c5040a9;hb=refs/heads/1.1
The PHP error is really not clear, it just says it can’t access the property with no more explanation.
Any ideas?

The other weird thing I’m getting is a lot of errors about using an integer as an object, in most classes using a config member, usually initialized like this:
 function __construct (&$config, $dn = NULL, $object = NULL)
 $this->config = &$config;

Is there a change in the reference system in PHP7? This worked fine before, and now config is turning to an integer at some point, I’m not sure how to debug this.


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php