Missing signature violation warnings suck
I've been working on some code, while developing on PHP 5.3. The code resembles the following structure:
<?php
interface ezcSearchQuery
{
public function limit( $limit, $offset = '' );
}
interface ezcSearchFindQuery extends ezcSearchQuery
{
}
class ezcSearchFindQuerySolr implements ezcSearchFindQuery
{
public function limit( $limit = 10, $offset = 0 )
{
$this->limit = $limit;
$this->offset = $offset;
}
}
?>
No problems at all while development, no warnings, no errors. Now when I deployed this on a PHP 5.2 machine it bombed out, with the following correct message:
Fatal error: Declaration of ezcSearchFindQuerySolr::limit() must be compatible with that of ezcSearchQuery::limit() in /tmp/index.php on line 11
And this really sucks. I made a mistake in my code (wrongly implemented interface) and I get no warning (not even E_STRICT)... and then deploy it and it bails out on me. We can't have this. We need warnings (actually, it should be E_FATAL) for those cases in order to avoid problems. I don't know how this check got removed, but it should be put back in ASAP!
Comments
this code throws a Fatal error under 5.2.5 and also under 5.2.6-RC3 for me so whats the problem?
@Marco: The problem is that there is no warning at all in PHP 5.3.
The problem is, that this has been changed in 5.3.
Actually there's nothing wrong with different parameters in an implemented method. It's something you won't want to do often but you will want to do it and so this categorically should not cause a fatal error. The language should not attempt to impose misguided rules upon us.
"while developing on PHP 5.3."
@Marco: read, read and read again :P "while developing on PHP 5.3" != "when I deployed this on a PHP 5.2 machine" :)
It sounds like an interesting feature to me, in 5.3. It kind of brings about a BC break, and from that point of view, the different error levels sounds acceptable. That said, i guess this should be better signified as one of the 5.2 -> 5.3 migration tricks. And the question of having properly discussed this feature on the php core mailing list prior to implementing it is yet another issue :)
Life Line
TIL that Kingfishers can hover just like hummingbird. I'll hopefully have some reasonable shots after I've gone through my nearly thousand shots today...
I hiked 9.8km in 3h40m47s
Updated a restaurant
Updated a vacant business
I walked 7.1km in 1h16m56s
I walked 3.9km in 45m56s
I walked 1.1km in 10m47s
I think this was my favourite photo of the set that I took. It's not at maximum coverage, but it does have a sun spot group (4508) just on the cusp of the terminator.
#eclipse #eclipse2026 #SolarEclipse #London #Astronomy #AstroPhotography #Photography
No totality here in London, but still had a great evening out in the local park and taking some snaps.
I did have a nice Solar Filter that I made for my lens, and had many conversations with people from different backgrounds. Kids loves to look through my filter after I was done (ran out of battery power).
More photos later...
I walked 0.9km in 9m28s
I walked 1.2km in 19m05s
Merged pull request #1100
Fixed issue #2267: Application slow when debugger is not listening on…
I walked 4.7km in 48m18s
I walked 3.0km in 1h10m24s
Is there somebody who runs PHP on native windows (with Xdebug) and can run a simple script for me?
It must be in a file (`test.php`):
```
<?php
echo microtime(true), "\n";
xdebug_connect_to_client();
echo microtime(true), "\n";
```And run like:
php -dxdebug.log_level=11 -dxdebug.log=c:\temp\xdebug-i.log -dxdebug.client_host=localhost -dxdebug.client_port=9111 -dxdebug.mode=debug c:\temp\test.php
With the port 9111 not open.
Would love to see the output and log file (in a DM).
I walked 5.5km in 55m06s
@harry_wood This is this list of 100 Go-mistakes that I was talking about: https://100go.co/
Updated a crossing
I walked 2.1km in 20m08s
Enjoying my afternoon and evening out at Lords for some cricket!
I walked 3.2km in 38m54s
I walked 9.1km in 1h34m28s
Updated a gate
Updated a bakery shop




Shortlink
This article has a short URL available: https://drck.me/msvws-6ah