Okay, I ended up running
$ sudo apachectl configtest
httpd: Syntax error on line 488 of /usr/local/etc/apache2/2.2/httpd.conf: Cannot load /usr/local/Cellar/php56/5.6.14/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php56/5.6.14/libexec/apache2/libphp5.so, 10): image not found
When I edited httpd.conf, it turned out that it was trying to load two different version of libphp5.so: a new version that had been freshly installed (I think) by Homebrew, and an old version that Homebrew had (I think) deleted once it installed the new version.
For some reason, when Apache tried to load the old version of libphp5.so and found it wasn't there, this prevented Apache running at all. As soon as I deleted the line that tried to load the missing libphp5.so and restarted Apache everything worked fine.