Понижение PHP-кода LAMP?

[Stackoverflow будет более подходящим местом для такого вопроса программирования]

Это не ошибка, а ожидаемое поведение. readline не знает, что было написано на терминале раньше и в какой позиции он пишет. Подумайте «базовый последовательный терминал». Кроме того, другие фоновые процессы (которые ваша программа не знает) могут также записываться на терминал.

Итак, readline предполагает, что он начинает писать в начале строки терминала. Когда вы Ctrl-U (unix-line-discard), readline возвращается туда, где, как вы думаете, вы начали вводить символы, т. Е. Сразу после его подсказки. Ваше приглашение «ОК>» имеет длину четыре символа, поэтому readline помещает каретку на 5-е место и стирает строку, оставляя только «ад».

Обходным путем может быть пропустить строку перед вызовом readline, или для начала вашего запроса с символом CR (т.е. \r), который заставит приглашение в начале строки переписать «Hello» (но более длинный текст будет только частично перезаписан).

[d4 ] [update]

Что касается того, почему иногда Ctrl-U стирает только последние введенные символы, а иногда и стирает (почти) всю строку, это оптимизация readline.

readline может испускать две различные последовательности символов, чтобы стереть весь вход:

либо: n × <BS> (backspace) + & lt; управляющая последовательность для стирания всей строки & gt; (например, ANSI <ESC> [ K), где n - количество символов, введенных до сих пор. или: <CR> + m × & lt; управляющая последовательность для перемещения курсора вправо & gt; (например, ANSI <ESC> [ C) + & lt; управляющая последовательность для стирания всей строки & gt ;, где m - длина подсказки.

readline выбирает кратчайший, который зависит от количества символов, набранных по длине вашего приглашения.

1
задан 17 June 2012 в 04:33

5 ответов

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

Однако, если вам действительно нужна более старая версия PHP, вы можете обнаружить, что слишком много проблем, чтобы заставить все версии работать вместе; Я не знаю, работают ли текущие версии MySQL и Apache со старой версией PHP.

Вы можете попробовать что-то вроде этого: Bitnami Lampstack , но я не думаю он поддерживает 64-разрядную версию.

Другой вариант - Oldapps xampp . Oldapps.com был бы хорош, если бы вы хотели пойти на отдельный маршрут, так как у них есть старые версии всех отдельных компонентов.

0
ответ дан 25 July 2018 в 18:27

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

Однако, если вам действительно нужна более старая версия PHP, вы можете обнаружить, что слишком много проблем, чтобы заставить все версии работать вместе; Я не знаю, работают ли текущие версии MySQL и Apache со старой версией PHP.

Вы можете попробовать что-то вроде этого: Bitnami Lampstack , но я не думаю он поддерживает 64-разрядную версию.

Другой вариант - Oldapps xampp . Oldapps.com был бы хорош, если бы вы хотели пойти на отдельный маршрут, так как у них есть старые версии всех отдельных компонентов.

0
ответ дан 2 August 2018 в 00:39

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

Однако, если вам действительно нужна более старая версия PHP, вы можете обнаружить, что слишком много проблем, чтобы заставить все версии работать вместе; Я не знаю, работают ли текущие версии MySQL и Apache со старой версией PHP.

Вы можете попробовать что-то вроде этого: Bitnami Lampstack , но я не думаю он поддерживает 64-разрядную версию.

Другой вариант - Oldapps xampp . Oldapps.com был бы хорош, если бы вы хотели пойти на отдельный маршрут, так как у них есть старые версии всех отдельных компонентов.

0
ответ дан 6 August 2018 в 00:47

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

Однако, если вам действительно нужна более старая версия PHP, вы можете обнаружить, что слишком много проблем, чтобы заставить все версии работать вместе; Я не знаю, работают ли текущие версии MySQL и Apache со старой версией PHP.

Вы можете попробовать что-то вроде этого: Bitnami Lampstack , но я не думаю он поддерживает 64-разрядную версию.

Другой вариант - Oldapps xampp . Oldapps.com был бы хорош, если бы вы хотели пойти на отдельный маршрут, так как у них есть старые версии всех отдельных компонентов.

0
ответ дан 7 August 2018 в 18:13

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

Однако, если вам действительно нужна более старая версия PHP, вы можете обнаружить, что слишком много проблем, чтобы заставить все версии работать вместе; Я не знаю, работают ли текущие версии MySQL и Apache со старой версией PHP.

Вы можете попробовать что-то вроде этого: Bitnami Lampstack , но я не думаю он поддерживает 64-разрядную версию.

Другой вариант - Oldapps xampp . Oldapps.com был бы хорош, если бы вы хотели пойти на отдельный маршрут, так как у них есть старые версии всех отдельных компонентов.

0
ответ дан 15 August 2018 в 18:56

Другие вопросы по тегам:

Похожие вопросы: