php命令行模式代码实例详解


Posted in PHP onFebruary 26, 2021

php全集行模式,即php-cli,官方文档中称为: CLI SAPI(Server Application Programming Interface,服务端应用编程端口).听着挺复杂。其实是因为php原本为服务器端的脚本语言,所以引申出这个叫法。

与服务端模式的不同

服务端模式主要有两种工作方式: 作为web server的模式方式或作为一个cgi可执行程序. 前者,比如作为apach中的一个模块(如:php5apache2.dll); 后者作为可执行程序,如php-cig. 现在的替代者为php-fpm(FastCGI Process Manager).

看下php-fpm的配置。 在服务器上,放一脚本文件,内容:

<?php

phpinfo();

?>

输出:

Server API FPM/FastCGI

Virtual Directory Support  disabled

Configuration File (php.ini) Path  /etc/php7

Loaded Configuration File  /etc/php7/php.ini

Scan this dir for additional .ini files /etc/php7/conf.d

说明配置文件为 /etc/php7/php.ini的/etc/php7/conf.d

再看下cli模式的配置文件. 运行

php -r "phpinfo();"

-rrun运行全集意思. 输出为:

Server API => Command Line Interface

Virtual Directory Support => disabled

Configuration File (php.ini) Path => /etc/php/7.0/cli

Loaded Configuration File => /etc/php/7.0/cli/php.ini

Scan this dir for additional .ini files => /etc/php/7.0/cli/conf.d

Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-opcache.ini,

配置文件路径为: /etc/php/7.0/cli/php.iniphp-fpm是不同的。

常听到有人说,php只能作为服务器暂时间脚本,不能作为长时间工作,还有安全配置会影响命令行等,显然是错误的。

其它差异

cli模式,定义了STDIN, STDOUT, STDERR三个常量; 如: $stderr = fopen(‘php://stderr', ‘w');

CLI SAPI 不会将当前目录改为已运行的脚本所在的目录.

php作为shell脚本

有两种方法将php脚本作为shell脚本, 如脚本:

hello.php

<?php

echo "hello world!";

var_dump($argv);

?>

方法1 php 脚本 参数

~php hello.php -s 'me'

hello world

array(3) {

 [0]=>

 string(9) "hello.php"

 [1]=>

 string(2) "-s"

 [2]=>

 string(2) "me"

}

方法2 在php文件头加

#!/usr/bin/php

然后 chmod u+x hello.php

执行 ./hello.php

hello world

array(1) {

 [0]=>

 string(11) "./hello.php"

}

到此这篇关于关于php命令行模式代码实例详解的文章就介绍到这了,更多相关关于php命令行模式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
《PHP边学边教》(01.开篇――准备工作)
Dec 13 PHP
优化使用mysql存储session的php代码
Jan 10 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
php与php MySQL 之间的关系
Jul 17 PHP
c#中的实现php中的preg_replace
Dec 21 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
php数字转汉字代码(算法)
Oct 08 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
php汉字转拼音的示例
Feb 27 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
PHP时间类完整代码实例
Feb 26 #PHP
PHP队列场景以及实现代码实例详解
Feb 26 #PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 #PHP
php的对象传值与引用传值代码实例讲解
Feb 26 #PHP
php并发加锁问题分析与设计代码实例讲解
Feb 26 #PHP
PHP内存溢出优化代码详解
Feb 26 #PHP
php自动加载代码实例详解
Feb 26 #PHP
You might like
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
[19:15]DK战队纪录片
2014/09/02 DOTA
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python代码实现KNN算法
2017/12/20 Python
python实现扫描日志关键字的示例
2018/04/28 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
财务管理专业毕业生求职信范文
2013/09/21 职场文书
成教自我鉴定
2013/10/27 职场文书
旅游管理专业个人求职信范文
2013/12/24 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
工作时间上网检讨书
2014/02/03 职场文书
优秀团队获奖感言
2014/02/19 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
酒店管理求职信
2014/06/09 职场文书
民事和解协议书格式
2014/11/29 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers
Nginx反向代理配置的全过程记录
2021/06/22 Servers
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android