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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
谈谈PHP语法(4)
Oct 09 PHP
php+mysql分页代码详解
Mar 27 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
php递归创建目录的方法
Feb 02 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP设计模式之工厂模式与单例模式
Sep 28 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php连接mssql的一些相关经验及注意事项
2013/02/05 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
JavaScript 特殊字符
2007/04/05 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
Python实现数据库并行读取和写入实例
2017/06/09 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
升职自荐书范文
2013/11/28 职场文书
给儿子的表扬信
2014/01/15 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
环保倡议书
2014/04/14 职场文书
党员群众路线承诺书
2014/05/20 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
华山导游词
2015/02/03 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
python程序的组织结构详解
2021/12/06 Python