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 定界符 使用技巧
Jun 14 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 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 explode()函数用法讲解
2019/02/15 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
第一个Vue插件从封装到发布
2017/11/22 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
python中logging库的使用总结
2017/10/18 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
党员自我评议个人对照检查材料
2014/09/16 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
四年级作文之说明文作文
2019/10/14 职场文书