存档

2018年2月 的存档

php交互式执行代码

2018年2月24日 没有评论

php命令行有个参数 php -a,说是可以交互式执行php代码

实际lnmp的编译php测试了下,结果发现不行

 

 

 

查看官网说明:

As of PHP 5.1.0, the CLI SAPI provides an interactive shell using the -a option if PHP is compiled with the –with-readline option.

意思是编译php的时候要使用–with-readline参数编译才行

翻看现有php的编译参数:

php -r “phpinfo();” | grep configure

或者是

php -i | grep configure

 

然后很自然的在后面加上参数–with-readline来编译

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-iconv-dir –with-freetype-dir=/usr/local/freetype –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –enable-mbregex –enable-mbstring –with-mcrypt –enable-ftp –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –with-gettext –disable-fileinfo –enable-opcache –enable-intl –with-xsl –with-readline

然后是make,等待许久之后,居然报错了:

网上查了下是iconv的问题

使用make ZEND_EXTRA_LIBS=’-liconv’

然后再make install就ok了

然后再执行php -a:

 

 

 

 

这样就可以交互的调试一些简单的代码了

也是666的

 

参考:

http://php.net/manual/en/features.commandline.interactive.php

http://blog.csdn.net/sflsgfs/article/details/6318583

分类: 其他, 技术 标签: