Ответ 1
В Linux разделитель путей /
. В Windows это либо \
, либо /
. Так что просто используйте косые черты, и все будет хорошо.
APPLICATION_PATH . '/logs/app.log'
Как я могу убедиться, что этот путь:
new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')
работает как на linux, так и на окнах?
В Linux разделитель путей /
. В Windows это либо \
, либо /
. Так что просто используйте косые черты, и все будет хорошо.
APPLICATION_PATH . '/logs/app.log'
Вы также можете использовать константу DIRECTORY_SEPARATOR
вместо \
или /
.
Обычно вам нужно переопределить его, чтобы иметь более короткое имя, например
define('DS', DIRECTORY_SEPARATOR);
$filename = APP . DS . 'logs' . DS . 'file.txt';
если вы хотите сообщить о двух или более приложениях вашего сайта, этот трюк будет вам очень полезен
$ Document_root = realpath ( \ filter_input ( INPUT_SERVER , ' DOCUMENT_ROOT '));
это преобразование пути назад в реальный путь, а затем просто нужно перемещаться между каталогами с помощью DIRECTORY_SEPARATOR, не беспокоясь об операционной системе, установленной на вашем компьютере или веб-сервере.
Просто realpath() кажется достаточно