I have setup as follows:
/www/domain/docroot/w is a symlink to /srv/mediawiki/targets/production
/srv/mediawiki/targets/production is a symlink to /srv/mediawiki/tags/XXX
If I enable repo authoritative mode and compile bytecode cache for hhvm using:
find -L /www/domain/docroot -name "*.php" > $FL hhvm --hphp -t hhbc -v AllVolatile=true --input-list $FL
Then I get errors as follows:
Fatal error: require_once(/srv/mediawiki/tags/XXX/includes/profiler/ProfilerFunctions.php): File not found in /www/domain/docroot/w/includes/WebStart.php on line 64
This is because of the following code:
# Full path to working directory. # Makes it possible to for example to have effective exclude path in apc. # __DIR__ breaks symlinked includes, but realpath() returns false # if we don't have permissions on parent directories. $IP = getenv( 'MW_INSTALL_PATH' ); if ( $IP === false ) { $IP = realpath( '.' ) ?: dirname( __DIR__ ); }
I am not sure whether apc is really concern anymore, as apc itself no longer exists.
It seems it would be possible to override this with an environment variable, but I am not sure how to pass it to HHVM.