首页

php命令行基础用法

PHP是一门门槛很低的语言,自学成才的不算少数。可能很多人跟我一样用了好多年的PHP还不知道PHP命令行其实自带了很多好用的功能。下面盘点一下: 1.PHP开启简单的server web服务。 经常用PHP写api难免需要开web服务来调试接口,开网站服务php-fpm、nginx(或者Apache)、IIS几个老伙计经常一起搭档,但是有时候不想那么麻烦就开个简单的web服务测试一下其实直接php -S 127.0.0.1:8080命令足以。 php -S 后面接监听的地址:端口,还能-t指定web目录,-S要注意是大写。我也经常用来临时传文件用。 <code> #代码示例,监听9527端口,局域网或者公网访问,web目录为当前目录下的my_web_dir #php -S 0.0.0.0:9527 -t ./my_web_dir </code> 2.PHP语法错误检查。 刚学PHP那几年都是靠var_dump()和die()下断点debug的,新手难免很多语法错误。事实上可以直接php -l 你的PHP文件直接通过命令行检查语法错误。虽然现在代码编辑器功能非常强大几乎用不到这个功能了,但保不准一些像我这样的野路子喜欢在线上服务器直接debug,或许就会用到这个命令。 <code> #代码示例,php检查语法错误 #test.php文件内容如下: <?php echo mt_rand(0,999); </code> php -l test.php PHP Parse error: syntax error, unexpected ',999' (T_STRING), expecting ')' in test.php on line 3 Errors parsing test.php 第3行分号打成了全角 3.PHP交互式命令行。 PHP有很多优秀的框架,备受推崇的laravel就开发很友好,默认还提供了好用的命令行工具。直接在项目根目录执行php artisan tinker就能使用框架里的函数,甚至一些功能比nodejs和Python自带的命令行都好用。但是总有一些老项目是没有带命令行调试工具的,以前不知道PHP其实内置了交互式调试命令:php -a 输入命令后就能直接调试PHP了,甚至像一些老框架比如tp3.2这类也可以使用这个交互命令在public目录include("index.php"),直接能调用和调试所有的方法和类。 <code> #示例代码,利用交互式命令调试代码 test.php内容如下: <?php class Human{ public static function man(){ return "Oh man"; } public function female(){ return "Oh woman"; } //其他性别.... } php -a Interactive mode enabled #php > include("test.php"); #php > $test = new Human(); #php > echo $test::man(); #Oh man #php > echo $test->female(); #Oh woman #php > </code> 4.格式化PHP代码以html来输出。 我的自建博客经常会有一些代码demo,也不打算在博客系统里用什么复杂的框架来展示漂亮的代码,直到我发现其实直接使用php -s php文件 > 格式化完成的PHP文件.php 就能输出经过html格式化的源代码,还是挺管用的。注意这个命令的-s是小写,要和开启sever服务的参数-S做区分。 <code> #示例代码,把PHP代码格式化为html输出,还是用上面的test.php做测试 php -s test.php > test.html <span style="color: #000000"> <span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Human</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">man</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #DD0000">"Oh&nbsp;man"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">female</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #DD0000">"Oh&nbsp;woman"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//其他性别....<br /></span><span style="color: #007700">}<br /></span> </span> </code> 5.去除PHP代码的注释和换行。 有时候需要去掉PHP代码多余的注释和换行,用于压缩代码节省空间就会用到php -w 要压缩的代码文件 > 压缩完成的代码文件。 这个方法一般我只用在线上生产环境要部署的代码。毕竟开发测试环境的的代码如果没了注释和换行我自己也会很头疼。 <code> #示例代码,压缩PHP代码 php -w test.php 输出: <?php class Human{ public static function man(){ return "Oh man"; } public function female(){ return "Oh woman"; } } </code> PHP命令行还有很多其他的参数,这里就不赘述,感兴趣可以查查PHP官方文档,linux环境下也可以直接执行man php查看php-cli的参数选项。
更多>>
一场由php双问号和空字符串引起的血案 编译安装ngrok时报go get ngrok/...: malformed module path "ngrok": missing dot in first path element 支付宝周期付款(alipay连续包月)入坑指南 wget -O覆盖文件的教训 linux下如何快速开启一个临时的web服务