如何通过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用GD库生成高质量的缩略图片
Mar 09 PHP
php批量上传的实现代码
Jun 09 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 PHP
PHP邮箱验证示例教程
Jun 01 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
thinkphp实现附件上传功能
May 26 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 PHP
PHP预定义接口――Iterator用法示例
Jun 05 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
laravel 5 实现模板主题功能
2015/03/02 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
js获取单选框或复选框值及操作
2012/12/18 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
感恩的演讲稿
2014/05/06 职场文书
春季防火方案
2014/05/10 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
Golang实现AES对称加密的过程详解
2021/05/20 Golang
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python