【发布时间】:2018-05-04 21:46:58
【问题描述】:
PHP7.1 的一项改进是,在 Windows 中,readline 扩展是开箱即用的。不过,我在使用所有功能时遇到了麻烦,因为它们并不全部存在。以下代码:
$functions = [
'readline_add_history',
'readline_callback_handler_install',
'readline_callback_handler_remove',
'readline_callback_read_char',
'readline_clear_history',
'readline_completion_function',
'readline_info',
'readline_list_history',
'readline_on_new_line',
'readline_read_history',
'readline_redisplay',
'readline_write_history',
'readline'
];
foreach($functions as $function) {
echo $function . (function_exists($function) ? ' exists' : ' does not exist') . PHP_EOL;
}
...产生以下输出:
readline_add_history exists
readline_callback_handler_install does not exist
readline_callback_handler_remove does not exist
readline_callback_read_char does not exist
readline_clear_history exists
readline_completion_function exists
readline_info exists
readline_list_history does not exist
readline_on_new_line does not exist
readline_read_history exists
readline_redisplay does not exist
readline_write_history exists
readline exists
我在PHP manual 中找不到任何关于在 Windows 中只有一部分 readline 扩展功能可用的参考。
当我调用php_info() 时,我得到以下输出:
阅读线
已启用 Readline 支持
Readline 库 WinEditLine
是否需要进行一些 php.ini 配置设置(或 CLI 参数)才能使所有功能可用?或者,是否有其他方法可以使 readline_callback_handler_install() 等功能在 Windows 中可用,或者扩展只是半生不熟?
【问题讨论】:
-
你运行的是什么版本的 PHP?
-
php -v的输出:PHP 7.2.2 (cli)(构建时间:2018 年 1 月 31 日 19:51:55)(ZTS MSVC15 (Visual C++ 2017) x86)
标签: php windows command-line-interface php-extension