командная строка — подтверждение перед запуском PHP-скрипта по умолчанию

Можно ли настроить PHP CLI для подтверждения перед выполнением сценария PHP, не помещая логику подтверждения в сам файл.

Пример:

$ php filename.php

Вы уверены, что хотите запустить filename.php y / n

0

Решение

Вы можете установить псевдоним для этого с небольшим сценарием bash.

Добавьте что-то подобное в ваш .bashrc

confirm () {
echo "Are you sure you want to run this php script [y/n] "read response
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
echo "Confirmed"else
exit 1;
fi
}

А затем добавьте это в ваш файл .bashrc

alias phpconfirm="confirm && php"

Я настоятельно рекомендую использовать другое имя, чем php.

0

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

Вы можете использовать комбинацию Readline и директива php.ini auto_prepend_file обрабатывать подсказку.

Хотя я не думаю, что это хорошая идея, я дам вам рабочий ответ, поскольку это возможно. Если ваш php cli использует свой собственный php.ini, как это делают некоторые дистрибутивы * nix, то это легко. Если нет, то вам нужно убедиться, что ваш скрипт подсказки проверяет текущий sapi и выполняется только при запуске из консоль с tty

1

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