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入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
php ajax 静态分页过程形式
Sep 02 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
PHP中数组定义的几种方法
Sep 01 PHP
php实现递归与无限分类的方法
Feb 16 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
php+ajax实现文件切割上传功能示例
Mar 03 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执行速度全攻略(下)
2006/10/09 PHP
PHP 高级课程笔记 面向对象
2009/06/21 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
php实现网站留言板功能
2015/11/04 PHP
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
关于react中组件通信的几种方式详解
2017/12/10 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
vue实现评价星星功能
2020/06/30 Javascript
pytorch之inception_v3的实现案例
2020/01/06 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
《巨人的花园》教学反思
2014/02/12 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
大学专科求职信
2014/07/02 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
在js中修改html body的样式
2021/11/11 Javascript