IIRC, 5.4 began enforcing strict coding standards. The API didn't update for that, so it started throwing errors. Had the same problem. Two ways to deal with it:
1) Turn off the error reporting. These two lines of code at the head of your include file should do it
2) There's a way to tweak the API to force explicit referencing, but I don't remember what it is at the moment. You can probably Google "strict coding standards" and find out how to do that.
thanks for the suggestions.
I'll look at the changes needed for strict coding standards, but every
library file is full of these old style references so there will be a
lot of fixes needed.
I know that I can turn error reporting off but the logs fill up
incredibly quickly when php is spitting out dozens of notices for every
You should be able to tweak the API to declare the methods as static. I don't remember the exact syntax, but it's not too many references. (I've never been brave enough to mess with it myself, but others have mentioned doing it.)
I don't remember my logs filling up after using those two lines of code. I can double-check later.
It's not those two lines of code that cause the logs to fill. It's the
original code that is causing all of the E_NOTICES that are logged. The
error reporting instructions determine which messages are printed to
screen (and we're saying - none!). If the code is clean the E_NOTICES
aren't generated, there's nothing to print to screen nor to log.
Well, then, your only option is to tweak the API and declare the offending methods as static.
Either that or run the older version of PHP.
The notice may mean change a line
return $Vcb5e100e =& new FileMaker_Error($this->_fm, 'Field Not Found');
to 2 lines
$Vcb5e100e =& new FileMaker_Error($this->_fm, 'Field Not Found');
If so, not so hard to do.
I don't have FMS11 but grepping "function &" found 49 in FMS13