Open annpocoyo opened 1 year ago
A workaround is to manually set $_SERVER['DOCUMENT_ROOT']
to $_SERVER['CONTEXT_DOCUMENT_ROOT']
which returns the correct document root in this context.
This is best done by setting the auto_prepend_file
php configuration directive which automatically loads a php file before any piece of code.
Here's a example:
fix-doc-root.php (Place anywhere):
<?php
$_SERVER['DOCUMENT_ROOT'] = $_SERVER['CONTEXT_DOCUMENT_ROOT'];
Updated part of httpd.conf:
# WordPress
Alias /blog /opt/homebrew/var/httpd/wordpress
<Directory /opt/homebrew/var/httpd/wordpress/>
# Fix DOCUMENT_ROOT
php_value auto_prepend_file path/to/fix-doc-root.php
# Other stuff
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
Problem:
My httpd configuration uses the
Alias /blog /opt/homebrew/var/httpd/wordpress
directive so I don't break the permissions of the blog. But this causes the plugin to think the path is outside document root.Relevant part of httpd.conf: