Мой сайт размещен на общем хосте.Я пытаюсь настроить новую среду разработки (когда я говорю новую, я имею в виду, что она не похожа ни на одну из моих предыдущих сред разработки, которая варьируется от таких вещей, как один Notepad ++ до «простых» серверных решений, таких как WAMP / XAMPP…пока я на C # / .NET, поэтому php - это нечто, чем я обычно пользуюсь дома ...)
Моя новая среда до сих пор имеет:
- Windows 10 (потому чтоэто то, что я использую дома)
- PhpStorm.
- Php 7.3.3 VC15 x64 Thread Safe разархивирован где-то на моем жестком диске.
- php.exe упоминается как переводчик вPhpStorm
- php_xdebug-2.7.0-7.3-vc15-x86_64.dll Отладка набора в php.ini
В моем php-коде у меня есть
filter_input(INPUT_SERVER,'DOCUMENT_ROOT');
Возвращает ноль (или что-то пустое).
Когда я вставляю его в терминал, он говорит:
'filter_input' не распознается как внутренняя или внешняя команда,работоспособная программа или командный файл.
Ну, может быть, это типтерминал, которого я ожидаю, но тот факт, что он возвращает нулевое значение, является проблемой.
Что я должен изменить, чтобы он возвращал то же значение, что и в моей онлайн-среде?
Я пробовал решения из PHP filter_input (INPUT_SERVER, 'REQUEST_METHOD') возвращает ноль? , включая добавление variables_order = "GPCSE"
в php.ini, но это не решило проблему.
Запись filter_var(getenv('DOCUMENT_ROOT'));
вместо этого, но этоне решил проблему ...
Я хочу написать код для своей онлайн-среды, чтобы не адаптировать мой код к моей среде разработки.
Дальнейшее тестирование 1
Рабочий код
var_dump(realpath(dirname(__FILE__).'/../'));
if($_SERVER['DOCUMENT_ROOT'] === '')
$_SERVER['DOCUMENT_ROOT'] = realpath(dirname(__FILE__).'/../');
var_dump($_SERVER['DOCUMENT_ROOT']);
var_dump(filter_input(INPUT_SERVER, 'DOCUMENT_ROOT'));
1-й var_dump показывает правильное значение.2-й var_dump показывает правильное значение.3-я переменная var_dump показывает строку (0) "".Я не совсем уверен, как связаны $ _SERVER и INPUT_SERVER.