中文字符可以在我的LXTerminal上顯示和輸入。如何在php cli中輸入漢字?
[email protected]:/home/debian8# 中文 \\now to input chinese characters on my LXTerminal,it means chinese characters can be inputted.
bash: 中文: command not found \\ bash react the chinese characters on my LXTerminal,it means chinese characters can be displayed.
漢字可以輸入並顯示在我的python shell中。
現在讓我們進入到PHP的CLI(或者說PHP殼)
中國文字消失時,按一下回車鍵。
這意味着中文字符可以顯示,但不能在php cli模式下輸入。
如何讓中文字符可以在php cli模式下輸入?
而中文字符也不能粘貼到php cli中是一個確實的事實。
也許一些mbstring屬性會在/etc/php5/cli/php.ini中編輯?
感謝bwoebi。我的研究中增加了三個事實。
1. libreadline和libedit的版本。
[email protected]:/home/debian8# find/-name 'libreadline*'
/lib/x86_64-linux-gnu/libreadline.so.6.3
/lib/x86_64-linux-gnu/libreadline.so.6
[email protected]:/home/debian8# find/-name 'libedit*'
/usr/lib/x86_64-linux-gnu/libedit.so.2
/usr/lib/x86_64-linux-gnu/libedit.so.2.0.51
/usr/share/lintian/overrides/libedit2
[email protected]:/家庭/ debian8#LDD 「$(其中PHP)」 上PHP7 -a
PHP7
linux-vdso.so.1 (0x00007ffd35e5c000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff98ac68000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff98aa4d000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff98a836000)
libonig.so.2 => /usr/lib/x86_64-linux-gnu/libonig.so.2 (0x00007ff98a5cc000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007ff98a1d0000)
libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007ff989f6f000)
libdb-5.3.so => /usr/lib/x86_64-linux-gnu/libdb-5.3.so (0x00007ff989bae000)
libqdbm.so.14 => /usr/lib/libqdbm.so.14 (0x00007ff989961000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007ff989751000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007ff9894e3000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff9892db000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff988fda000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff988dd6000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007ff988bbe000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007ff988857000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007ff98860c000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007ff988338000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007ff988107000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007ff987f03000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff987b58000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff98793b000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff98ae9f000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007ff987718000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007ff98750c000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007ff987308000)
3.Chinese字符被安裝爲
http://www.tecmint.com/install-and-compile-php-7-on-centos-7-and-debian-8/
漢字可以在php7 -a
上顯示和輸入。
有一個新的發現!
這是php7上的readline庫。
php7 -i |grep Readline
Readline Support => enabled
Readline library => 6.3
它是php5上的EditLine包裝。
php -i |grep Readline
Readline Support => enabled
Readline library => EditLine wrapper
問題處於半解決狀態。
如何使我的php5使用readline庫6.3作爲php7做?
我不想再次編譯我的php5,只是爲了更改庫?
今天我編譯PHP5在我的VirtualBox的使用命令:
./configure \
--prefix=/usr/local/php5.6 \
--with-config-file-path=/usr/local/php5.6/etc \
--with-readline
中國字符可以輸入並php -a
交互模式顯示。
刪除當前的php5並從頭開始編譯所有內容是不明智的。
find/-name 'readline.so*'
/usr/lib/php5/20131226/readline.so
/usr/lib/x86_64-linux-gnu/libreadline.so
/usr/lib/x86_64-linux-gnu/ruby/2.1.0/readline.so
/usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so.18
/usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so
/usr/lib/x86_64-linux-gnu/libguilereadline-v-18.so.18.0.0
/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
/lib/x86_64-linux-gnu/libreadline.so.6.3
/lib/x86_64-linux-gnu/libreadline.so.6
也許使/lib/x86_64-linux-gnu/libreadline.so.6.3,如何讓它爲我的PHP5的工作?
爲什麼你的命令是用中文命名的? – Justinas
我想驗證中文字符是否可以輸入並顯示在我的LXTerminal上。 –
我不明白你的shell或終端正在改變你的漢字輸入與PHP有什麼關係? PHP不處理終端上的輸入,你的shell是。 – AntoineB