如何通过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详细彻底学习Smarty
Mar 27 PHP
PHP读取PPT文件的方法
Dec 10 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
PHP静态成员变量
Feb 14 PHP
总结一些PHP中好用但又容易忽略的小知识
Jun 02 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
如何判断微信付款码和支付宝付款码
Apr 01 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
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python编写屏幕截图程序方法
2015/02/18 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Python何时应该使用Lambda函数
2019/07/02 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
一套.net面试题及答案
2016/11/02 面试题
超市营业员求职简历的自我评价
2013/10/17 职场文书
统计学教授推荐信
2014/09/18 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
表彰大会新闻稿
2015/07/17 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
Python并发编程实例教程之线程的玩法
2021/06/20 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang