как заставить php читать SERVER_PORT как 80, когда apache слушает 8080, а varnish слушает 80 ??
если мой apache vhost установлен на 8080, SERVER_PORT всегда будет 8080, это меня немного беспокоит, так как во многих частях приложения некоторые ссылки вычисляются с помощью SERVER_NAME и SERVER_PORT вместе, ... так что мне нужно, чтобы php "верил" что SERVER_PORT - 80, поэтому все ссылки будут проходить через лак
Измените настройку следующим образом:
Таким образом, оба демона работают на порту 80. Этот способ работает, только если вам никогда не нужно подключаться к apache извне локального компьютера.
Я добавил поддержку этого в новой версии mod_rpaf @ https://github.com/gnif/mod_rpaf.
Ну, это не чисто ... но на огромной базе кода вы можете рассмотреть возможность использования "auto_prepend_file" через php.ini или .htaccess, в котором вы можете сбросить переменную $ _SERVER. (Видеть: http://php.net/manual/en/ini.core.php )
Но опять же, это не чистое решение ;-)
Я не думаю, что есть какой-то чистый способ сделать это. Есть ли какой-нибудь файл, который должен быть настроен таким образом в каждый сценарий PHP? Если это так, вы можете сделать что-нибудь вроде этого:
$_SERVER['SERVER_PORT'] = 80;