如何通过Linux命令行使用和运行PHP脚本


Posted in PHP onJuly 29, 2015

下面通过图文并茂的方式给大家分享下通过Linux命令使用和运行PHP脚本。

PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写。它是一个跨平台脚本语言,深受C、C++和Java的影响。

如何通过Linux命令行使用和运行PHP脚本

在 Linux 命令行中运行 PHP 代码

PHP的语法和C、Java以及带有一些PHP特性的Perl变成语言中的语法十分相似,它当下大约正被2.6亿个网站所使用,当前最新的稳定版本是PHP版本5.6.10。

PHP是HTML的嵌入脚本,它便于开发人员快速写出动态生成的页面。PHP主要用于服务器端(而Javascript则用于客户端)以通过HTTP生成动态网页,然而,当你知道可以在Linux终端中不需要网页浏览器来执行PHP时,你或许会大为惊讶。

本文将阐述PHP脚本语言的命令行方面。

1. 在安装完PHP和Apache2后,我们需要安装PHP命令行解释器。

# apt-get install php5-cli         

[Debian 及类似系统]# yum install php-cli      

[CentOS 及类似系统]

接下来我们通常要做的是,在 /var/www/html (这是 Apache2 在大多数发行版中的工作目录)这个位置创建一个内容为 <?php phpinfo(); ?> ,名为 infophp.php 的文件来测试(PHP是否安装正确),执行以下命令即可。

# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php

然后,将浏览器访问 http://127.0.0.1/infophp.php ,这将会在网络浏览器中打开该文件。

如何通过Linux命令行使用和运行PHP脚本 

检查PHP信息

 不需要任何浏览器,在Linux终端中也可以获得相同的结果。在Linux命令行中执行 /var/www/html/infophp.php ,如:

# php -f /var/www/html/infophp.php

如何通过Linux命令行使用和运行PHP脚本

从命令行检查PHP信息

由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:

# php -f /var/www/html/infophp.php | less

如何通过Linux命令行使用和运行PHP脚本

检查所有PHP信息

这里,‘-f‘选项解析并执行命令后跟随的文件。

2. 我们可以直接在Linux命令行使用 phpinfo() 这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:

# php -r 'phpinfo();'

如何通过Linux命令行使用和运行PHP脚本

PHP调试工具

这里,‘-r‘ 选项会让PHP代码在Linux终端中不带 <> 标记直接执行。

3. 以交互模式运行PHP并做一些数学运算。这里,‘-a‘ 选项用于以交互模式运行PHP。

# php -aInteractive shellphp > echo 2+3;5php > echo 9-6;3php > echo 5*4;20php > echo 12/3;4php > echo 12/5;2.4php > echo 2+3-1;4php > echo 2+3-1*3;2php > exit

输入 ‘exit‘ 或者按下 ‘ctrl+c‘ 来关闭PHP交互模式。

如何通过Linux命令行使用和运行PHP脚本

启用PHP交互模式

4. 你可以仅仅将PHP脚本作为shell脚本来运行。首先,创建在你当前工作目录中创建一个PHP样例脚本。

# echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php

注意,我们在该PHP脚本的第一行使用 #!/usr/bin/php ,就像在shell脚本中那样/bin/bash。第一行的 #!/usr/bin/php 告诉Linux命令行用 PHP 解释器来解析该脚本文件。

其次,让该脚本可执行:

# chmod 755 phpscript.php

接着来运行它,

# ./phpscript.php

5. 你可以完全靠自己通过交互shell来创建简单函数,这你一定会被惊到了。下面是循序渐进的指南。

开启PHP交互模式。

# php -a

创建一个函数,将它命名为 addition 。同时,声明两个变量 $a$b

php > function addition ($a, $b)

使用花括号来在其间为该函数定义规则。

php > {

定义规则。这里,该规则讲的是添加这两个变量。

php { echo $a + $b;

所有规则定义完毕,通过闭合花括号来封装规则。

php {}

测试函数,添加数字4和3,命令如下:

php > var_dump (addition(4,3));

样例输出

7NULL

你可以运行以下代码来执行该函数,你可以测试不同的值,你想来多少次都行。将里头的 a 和 b 替换成你自己的值。

php > var_dump (addition(a,b));

php > var_dump (addition(9,3.3));

样例输出

12.3NULL

如何通过Linux命令行使用和运行PHP脚本

创建PHP函数

你可以一直运行该函数,直至退出交互模式(ctrl+z)。同时,你也应该注意到了,上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 shell用 return 代替 echo 返回结果来修复。

只需要在上面的函数的中 ‘echo‘ 声明用 ‘return‘ 来替换

替换

php { echo $a + $b;

php { return $a + $b;

剩下的东西和原理仍然一样。

这里是一个样例,在该样例的输出结果中返回了正确的数据类型。

如何通过Linux命令行使用和运行PHP脚本

PHP函数

永远都记住,用户定义的函数不会从一个shell会话保留到下一个shell会话,因此,一旦你退出交互shell,它就会丢失了。

以上内容就是通过Linux命令行使用和运行PHP脚本的全部内容,希望大家喜欢。

PHP 相关文章推荐
php中的MVC模式运用技巧
May 03 PHP
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 PHP
PHP API接口必备之输出json格式数据示例代码
Jun 27 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP中number_format()函数的用法讲解
Apr 08 PHP
php简单检测404页面的方法示例
Aug 23 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 #PHP
PHP模拟QQ登录的方法
Jul 29 #PHP
PHP实现动态web服务器方法
Jul 29 #PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 #PHP
php简单防盗链实现方法
Jul 29 #PHP
如何用PHP来实现一个动态Web服务器
Jul 29 #PHP
php实现过滤字符串中的中文和数字实例
Jul 29 #PHP
You might like
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
laravel 操作数据库常用函数的返回值方法
2019/10/11 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
vuejs如何配置less
2017/04/25 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
Python中asyncore的用法实例
2014/09/29 Python
python如何修改装饰器中参数
2018/03/20 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
Python 使用type来定义类的实现
2019/11/19 Python
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
党员评议表自我评价范文
2014/10/20 职场文书
高中开学感言
2015/08/01 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫