PHP __FILE__ возвращает обратную косую черту в файле виртуальной машины Linux, смонтированном с хоста OSX

Я запускаю LAMP в Fedora VM с хоста OSX (Mavericks).

файл в папке, смонтированной на ВМ, — /media/sf_www/application/Some/Name/Space/FileName.php

<?php
namespace Some\Name\Space;

die(__FILE__);
?>

выходы

/media/sf_www/application/Some\Name\Space\FileName.php

Тем не менее, у меня есть тот же сайт, работающий в рабочей среде на хосте Linux, и тот же сценарий выводит все с косой чертой.

Давайте предположим, что я не могу коснуться кода.

Что-нибудь в конфигурации php я могу сделать на моем vm для вывода прямой косой черты?

Почему это происходит? OSX также должен использовать прямые косые черты, даже если он использует разделитель каталогов с компьютера, на котором размещается виртуальная машина.

Редактировать:
Это происходит только тогда, когда файл загружается через Kohana. Если я обращаюсь непосредственно к скрипту (apache или CLI), вывод правильный (прямая косая черта)

0

Решение

Это своего рода связанный вопрос: Разделители каталогов PHP, форсирующие косую черту; ненавязчивый

Ответ, который он дает, заключается в том, что нет никакой конфигурации, которую вы изменяете, чтобы использовать только один тип слеша.

Почему это происходит? Понятия не имею, может быть, это квази-баг в Кохане. И, возможно, отчасти это ошибка PHP, потому что функция, которая объединяет пути, немного не зависит от того, какой тип слеша она принимает.

Есть ли причина, по которой это должно иметь значение? Если у вас есть один вид слеша, вы можете просто сделать str_replace('\\', '/', __FILE__); в первую очередь

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector