swoole基础-php的cli模式

看了标题有些人要疑问了,不是要说swoole吗,为什么第一篇先介绍php的CLI模式了?我们先前说了,本套系列贵在注重基础,而swoole的大部分功能又是只能在CLI模式下运行的,所以,我们先来看看新手的疑惑,CLI是什么?

作为phper,最常见的开发模式,基本上都是基于web开发,借助nginx或者apache搭建web服务器。对php脚本的解析,nginx可以利用php-fpm,apache也可以加载其他模块处理,当然,这都是各位所熟悉的。那CLI模式又是怎样的呢?

CLI其实是Command Line Interface的简写,从字面上不难理解,是命令行接口的意思。

也就是说,我们可以在命令行下面运行php。比如下面几个常见的用法(以下实例均在命令行下执行)

运行某php文件

1
2
php a.php
php -f a.php

-f可选,如果提示 command not found,请自行把php所在路径添加到环境变量中并重启命令行。

查看命令行下该php的版本信息

1
php -v

如果你电脑上安装了多个php版本,php -v后发现显示的并不是你想要显示的某版本,那就说明php加入到环境变量的目录是不对的,可自行修改即可

查看CLI模式下phpinfo的信息

1
php -i

千万不要向上面那样直接执行了,因为phpinfo会有很多信息,其所输出的内容会铺满你的窗口,这样你找一些信息可能会非常麻烦,这个时候可以利用linux的grep命令进行筛选,比如查看php所加载的配置文件所在路径

1
php -i | grep php.ini

但是如果你发现加载的配置文件不对,不是我们要的配置文件,这个时候你可以通过php -c来指定命令行模式下php所加载的配置文件

1
php -c /custom/directory/custom-file.ini

校验某php文件是否有语法错误

在某些情况下,比如不输出错误信息,php文件报错但是你不知道哪里错了的时候,我们可以利用php -l先来排除下该文件是否有语法错误,如

1
php -l a.php

查看php都加载了哪些模块

1
php -m

命令行下直接运行php代码

各位都使用过composer,composer的安装命令中也有使用php -r,没错,我们可以用php -r在命令行下直接运行php代码,比如我们看一下当前环境是否开启了错误回显

1
php -r "var_dump(get_cfg_var('display_errors'));"

我们上面列出几条常见的例子,当然都很好记哈,你可以这样去理解,比如php -m(module),php -c(config),php -i (info),php -f(file),php -v(version),php -r(run),这样看来是不是就容易很多了。